SineVector241 / VoiceCraft-MCBE_Proximity_Chat

VoiceCraft software to implement proximity VC for Minecraft Bedrock Edition
GNU General Public License v3.0
103 stars 19 forks source link

Installation using docker container #79

Closed BanditTech closed 8 months ago

BanditTech commented 9 months ago

Hello there, I am working my way through the install process. So far I have the json files prepared but have come to the step of running the voice server. I am not sure how to move forward with that.

Should I create a container for the voice server, then link their network to make them local to each other?

SineVector241 commented 9 months ago

Yeah that should probably work, I don't have a lot of experience with docker so I'm not entirely sure how the server will handle being inside a container but if you just allow the ports defined in ServerProperties.json then it should work fine.

ModMaker101 commented 9 months ago

Sinevector what does the server use tcp or udp

SineVector241 commented 9 months ago

Sinevector what does the server use tcp or udp

Both

ModMaker101 commented 9 months ago

I'm just wondering how would you want the default settings for docker

SineVector241 commented 9 months ago

https://github.com/SineVector241/VoiceCraft-MCBE_Proximity_Chat/wiki/Server-Properties

These are the default settings for the server.

ModMaker101 commented 9 months ago

I see for the server properties that there are multiple different log exceptions and for the average server owner they might want to save time so is there a way to enable all of the logging options in one boolen

SineVector241 commented 9 months ago

All you have to do is enable LogExceptions which logs the code and the full error if the server fails. The rest is just all packet data.

ModMaker101 commented 9 months ago

Alright are you planning to implement a recording button in the client app/server

SineVector241 commented 9 months ago

No

BanditTech commented 9 months ago

Does the container running the minecraft server require .net framework installed, or would that just be for the container running the voice server, or both?

SineVector241 commented 9 months ago

Only for the VC server

BanditTech commented 9 months ago

working my way through the process, and noticing an issue with how the server produces its configuration files

usually the config files for any docker container are placed in a folder named config since you are placing them inside the base directory it causes issues with mounting volumes to save changes to those files.

is it possible to change where these files are being loaded from, and where they are auto generated?

The issue at hand, is that the port generated will be in a range. And the file to edit will not be accessible as a permanent volume.

SineVector241 commented 9 months ago

Not at the moment no. I may change the directory but it's currently hardcoded into the .cs file.

BanditTech commented 9 months ago

that would be helpful, currently I don't think I would be able to use the server as a container.

SineVector241 commented 9 months ago

The server should actually just find/create the ServerProperties.json file in the same directory from where it's ran from, This is the line where the server creates the file https://github.com/SineVector241/VoiceCraft-MCBE_Proximity_Chat/blob/b5544cd9af971244d5db0e0c612b3255617abe72/VoiceCraft.Server/ServerData.cs#L27

BanditTech commented 8 months ago

Yes, this is why it will not function properly with a container. In order for the container to properly function, all the information in that folder is part of the temporary storage. It gets wiped at every reset. To properly access the information you would use a config folder that the user is meant to interact with and mount permanent storage.

The logic for the arrangement is straightforward.

  1. You first check for files in the config folder. If they are present, you use them.
  2. You check your working directory for its file, if its present, use it.
  3. If both are not present, you create the files at the config folder.

this will preserve ALL current working configurations. no action is ever necessary to remove code afterwords either.

SineVector241 commented 8 months ago

1104a83d9776d38de51de8d90aed0d28c1f5271d

SineVector241 commented 8 months ago

https://github.com/SineVector241/VoiceCraft-MCBE_Proximity_Chat/releases/tag/v1.0.3-BETA