dread3ddie Posted November 22, 2017 Share Posted November 22, 2017 There are several great guides on how to setup dedicated servers for each specific platform, and I’ve used them many times. When I was about to setup a dedicated server for myself from scratch for the 4th time, however, I decided to invest some more time instead and work on a reusable easy setup solution. The goal was to have a platform-agnostic solution (something that runs in Linux, MacOS or Windows just the same) that would require only a few simple steps to get a proper server up and running. And by “proper” I mean a manageable server with Caves that supports Mods and customization, of course. The solution was developed using Docker and I’ve been playing on the server for a while quite happy with the result. I hope this project can help other people get started fairly fast and easily, having plenty of time to customize and play! Please reach me out if come across any troubles while setting this up. Any feedback is deeply appreciated. The following are the instructions as they were posted on the Steam Guide. The most complete, detailed and up-to-date instructions will be found in the project's repository documentation on GitHub. Setup Overview The following are the macro steps that are required to get the dedicated server up and running: Pick a host machine Install the required tools: Docker Git (optional) Get the server files Set your Cluster Token By completing the above you'll have a fully working server with caves ready to play! However it will obviously be running on default server and world configurations, no mods at all. You'll probably want to take some extra steps to: Configure the server properties Customize world generation Install and customize mods 1. Pick a host machine Spoiler As mentioned, Docker runs on Windows, Mac OS X and several Linux distributions. Therefore you may pick the platform you like the best and feel comfortable with. Things to have in mind when selecting your host: Have an exclusive machine to host the server to make sure resources will be promptly available to the server - You may of course host and play on the same machine. Just make sure you have the proper resources available! One free CPU core per shard is recommended (2 in total, Master + Caves) At least 1Gb RAM available per shard, + RAM for the running host OS. - 2Gb should suffice for a server with only a few players (4 or less). - 4Gb is the optimal for over 4 players A "lightweight" Linux distribution is recommended to host for performance gains. Suggested distro: Debian 9 2. Install the required tools Docker - Linux Spoiler Follow the official docs to install Docker on Linux. At first glance it might seem complicated, but the instructions are very detailed and thorough: Docker Engine CE Docker Compose Make sure to read through and follow the post-installation steps for Linux (quite important!) - Enable your user to manage `docker` without the need of `sudo` - Configure Docker to start on boot Docker - Mac / Windows You only need the Docker desktop standalone as it has everything you need, no extra steps required. Voilà! Git (optional) Spoiler If you want to install git to fetch the server files, it's super easy to install it in any OS. In most Linux distros all you need is: sudo apt-get install git 3. Get the server files Spoiler If you installed Git, clone this repository in your home folder: cd ~ && git clone https://github.com/mathielo/dst-dedicated-server.git Alternatively you may simply download the zipped files from GitHub directly, then upload and extract it to your home folder. 4. Set your Cluster Token Spoiler The cluster token is stored in the cluster_token.txt file and without it your server won't run online. If you intend to run a LAN only server, you don't need this step. There are a few ways to generate and get a cluster token. You may follow what's in the existing cluster_token.txt file: This file MUST be generated based on your Steam account. Enter the game and press "Play". After you're logged in, bring up the console (by pressing `~`) and type the following command: TheNet:GenerateServerToken() Press enter. The console will go away, and a `cluster_token.txt` was generated in: - Unix: ~/.klei/DoNotStarveTogether - Windows: C:\Users\<your name>\Documents\Klei\DoNotStarveTogether Get the generated file and OVERRIDE this one with the proper cluster token. After you get it, make sure to delete all the content from this file and leave only your cluster token there, without any spaces or anything else. You can easily do that replacing `InsertYourTokenHere` in the following command and executing it in your server: echo 'InsertYourTokenHere' > ~/dst-dedicated-server/DSTClusterConfig/cluster_token.txt Game Admin The account that generates the token automatically gains admin access in-game, meaning you can rollback, regenerate the world or use console commands while playing. Managing your server (start, stop, commands) For simplicity of the `docker-compose` commands listed below, make sure you'll be running them from within the installation folder: cd ~/dst-dedicated-server Full reference can be found in the project's documentation. Updating the game version Spoiler The developers are constantly updating the game, which is really good. However if your game client version mismatch the server's, you won't be able to see your server listed in Browse Servers. To updated the game client, simply stop and start the server again. On every startup the containers updates the game version automatically. Bear in mind this might take a minute or two. Start the Server Spoiler From your installation folder, run docker-compose in detached mode to start the server docker-compose up -d Tip: You can follow logs when running in detached mode: docker-compose logs -f Executing console commands Spoiler It's possible to execute game console commands from the terminal by attaching to the Master shard: docker attach dst_master Caution! Every input will be forwarded to the container when attached. That means if you hit CTRL-cthe container will receive SIGINT and will gracefully stop. It's only possible to attach to the Master shard (dst_master container) as it's the one who manages the slave (Caves shard, dst_caves). i.e. Running c_shutdown() on the Master shard will shutdown allshards, while running it on Caves would shutdown the Caves shard only.Once attached, you may run any commands to manage the game such as c_save(), c_spanw(), c_regenerateworld(), etc. Quote To detach from the container, press the CTRL-p CTRL-q sequence. Hitting CTRL-c will stop the running container. Check Docker's attach docs for more info. Stopping the Server Spoiler To save the game right before shutdown, attach to the container and execute c_shutdown(): docker attach dst_master c_shutdown() The Master shard will manage to save the game and send a shutdown signal to the Caves shard as well. Alternative: shutdown without saving If you simply want to shutdown the containers without saving the game: docker-compose down Installing Mods + Customizing the server Please refer to the official docs for detailed information on how to: Customize your Server and World generation Install and configure Mods Link to comment Share on other sites More sharing options...
Ceruleancerise Posted December 6, 2017 Share Posted December 6, 2017 dst_master | [00:00:07]: LOAD BE dst_master | /home/dst/start-container-server.sh: line 23: 38 Killed ./dontstarve_dedicated_server_nullrenderer -cluster DSTWhalesCluster -shard "$SHARD_NAME" dst_master exited with code 137 Slight error, maybe something wrong in my shard config? I can tell you've been a lot of work into this tut, and I really appreciate it; but do you know how I can fix this error? thanks Link to comment Share on other sites More sharing options...
dread3ddie Posted December 6, 2017 Author Share Posted December 6, 2017 Hey @Ceruleancerise, thanks for trying it out and reporting back! I just started out a fresh clone in my computer with the stock settings (as they are currently on the repository) and it worked without any issues. Couldn't reproduce the error you're getting, could you please provide more info about what OS you're using and what changes have you applied to the cluster config? Regardless, when researching for the error message you got, it seems that the exited with code 137 means that your container ran out of memory. This is odd as starting a fresh container should take up very little memory, and even after playing for quite a while with a few players the usage doesn't go way beyond 0,5Gb (per container). See a server I've been hosting and playing with some friends for a while now: CONTAINER CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDS 1071790a9603 11.91% 516.6MiB / 3.856GiB 13.08% 19MB / 17.7MB 0B / 0B 13 8c2bba023c07 15.81% 631.7MiB / 3.856GiB 16.00% 19.5MB / 20MB 0B / 0B 14 Spoiler The above was seen by running: docker stats When the command was executed there was no one playing on that server; If people were playing CPU usage would be higher. However memory usage doesn't vary too much whether there are people playing or not. So my wild guess here is that your Docker currently has limited memory to work with. See below some things you could try: Check for other running containers usage Docker engine usually has limited access to the computer's memory (it cannot/shouldn't consume all your computer's memory). Check if you have other containers running: docker ps If so, check their current memory usage: docker stats Try shutting down other containers if possible to free up some memory. Check how much memory Docker engine has available to it Accessing Docker Preferences > Advanced you should be able to see how much memory your system is making available for Docker (image to the right). Thinking of the step above (checking for running containers), decide whether you should change your settings to reserve more memory to Docker. Restart Docker It could also be that some container has/had a memory leak and even after stopping it could be messing with the whole Engine's memory management. Just try restarting docker in that case, it's worth the try. ---- If none of the above solves your issue, please post the full startup log you get when running composer in attached mode: docker-compose up Please do also share other changes you may have done to the cluster.ini, Master/server.ini or Caves/server.ini files so we can dig further until we fix it! Link to comment Share on other sites More sharing options...
Ceruleancerise Posted December 7, 2017 Share Posted December 7, 2017 Sorry! I had completely disregarded the RAM requirements, as I'm running this on a DigitalOcean Droplet I only had 500MB to work with, however after adding 1G of SWAP space the container spins up perfectly Also, this gave me some experience with Docker that I've been meaning to do for awhile. Thanks bumches, huge vouch. EDIT: ERROR: An HTTP request took too long to complete. Retry with --verbose to obtain debug information. If you encounter this issue regularly because of slow network conditions, consider setting COMPOSE_HTTP_TIMEOUT to a higher value (current value: 60). I'll try a Droplet with better specs later I suppose, might fix this? Link to comment Share on other sites More sharing options...
dread3ddie Posted December 7, 2017 Author Share Posted December 7, 2017 Awesome! Regarding the COMPOSE_HTTP_TIMEOUT: Docker automatically has a low default timeout for when you are attached to containers. You can try increasing the time it takes to timeout, but that's not a solution. Optimally you should run the containers in detached mode: docker-compose up -d This will start the containers but you won't see what's happening on the screen as you'll not be attached to them. This is very important also as if you're not running in detached mode and close your SSH/terminal session, the containers will be shut down. By running it in detached mode you can guarantee your containers / servers will be running in the background, regardless if you are connected (SSH'd) into the server or not. Once they are running in detached mode, you can peek into what's happening by checking the logs: docker-compose logs -f Let me know how it's going when you start playing on it Link to comment Share on other sites More sharing options...
Ceruleancerise Posted December 8, 2017 Share Posted December 8, 2017 Working perfectly now, not sure if it was upgrading hardware or staying away from sitting in docker log feed. Link to comment Share on other sites More sharing options...
dylanyasen Posted December 28, 2017 Share Posted December 28, 2017 yo this is sick man! thanks for sharing!!!! Link to comment Share on other sites More sharing options...
Dekay Posted January 7, 2018 Share Posted January 7, 2018 I followed all the instructions but I'm getting permission errors when trying to run the server. Both Overworld and Caves exit with code 6. I'm running on a VPS with 1 processor, 1GB RAM and a Ubuntu 17 OS, logged in as root. I'm using Putty to SSH in from my Windows 10. Here's the log, any help would be appreciated. Spoiler dst_caves | [00:00:00]: DownloadMods(0) dst_caves | [00:00:00]: [CRITICAL] Failed to save file: /home/dst/.klei//DoNotStarveTogether/DSTWhalesCluster/Caves/save/modindex dst_caves | [00:00:00]: [CRITICAL] Fingerprint:lhrjsjvnukdggkfltioqfhgigfnnnpeipdjlioijlhrjsjvnikdggkflhhoqfhgipgnnnpeijhjlioijkhrjsjvnxkdggkfluioqfhgiofnnnpeiddjlioijlhrjsjvntodggkflmkoqfhgiefnnnpeiifjlioijldrjsjvnijdggkflhjoqfhgipgnnnpeildjlioijgerjsjvnkjdggkflnioqfhgipinnnpeijdjlioijddrjsjvnjkdggkflmhoqfhgilfnnnpeipdjlioijgerjsjvntodggkflmkoqfhgiqinnnpeiogjlioijdcrjsjvnukdggkfljioqfhgihfnnnpeipdjlioijherjsjvnpmdggkfluioqfhgiognnnpeinejlioijaerjsjvnjkdggkflghoqfhgiejnnnpeinfjlioijfdrjsjvnkjdggkflnioqfhgiqgnnnpeijhjlioijherjsjvnnkdggkflkhoqfhgiofnnnpeijhjlioijjdrjsjvntkdggkflmioqfhgikfnnnpeiidjlioijadrjsjvnjkdggkflqhoqfhgi. dst_caves | [00:00:00]: [CRITICAL] Failed to save file: /home/dst/.klei//DoNotStarveTogether/DSTWhalesCluster/Caves/save/modindex dst_caves | [00:00:00]: [CRITICAL] Fingerprint:lhrjsjvnukdggkfltioqfhgigfnnnpeipdjlioijlhrjsjvnikdggkflhhoqfhgipgnnnpeijhjlioijkhrjsjvnxkdggkfluioqfhgiofnnnpeiddjlioijlhrjsjvntodggkflmkoqfhgiefnnnpeiifjlioijldrjsjvnijdggkflhjoqfhgipgnnnpeildjlioijgerjsjvnkjdggkflnioqfhgipinnnpeijdjlioijddrjsjvnjkdggkflmhoqfhgilfnnnpeipdjlioijgerjsjvntodggkflmkoqfhgiqinnnpeiogjlioijdcrjsjvnukdggkfljioqfhgihfnnnpeipdjlioijherjsjvnpmdggkfluioqfhgiognnnpeinejlioijaerjsjvnjkdggkflghoqfhgiejnnnpeinfjlioijfdrjsjvnkjdggkflnioqfhgiqgnnnpeijhjlioijherjsjvnnkdggkflkhoqfhgiofnnnpeijhjlioijjdrjsjvntkdggkflmioqfhgikfnnnpeiidjlioijadrjsjvnjkdggkflqhoqfhgi. dst_master | [00:00:00]: running main.lua dst_master | dst_master | [00:00:00]: Could not load modindex dst_master | [00:00:00]: ModIndex: Beginning normal load sequence for dedicated server. dst_master | dst_master | [00:00:00]: DownloadMods(0) dst_master | [00:00:00]: [CRITICAL] Failed to save file: /home/dst/.klei//DoNotStarveTogether/DSTWhalesCluster/Master/save/modindex dst_master | [00:00:00]: [CRITICAL] Fingerprint:lhrjsjvnukdggkfltioqfhgigfnnnpeipdjlioijlhrjsjvnikdggkflhhoqfhgipgnnnpeijhjlioijkhrjsjvnxkdggkfluioqfhgiofnnnpeiddjlioijlhrjsjvntodggkflmkoqfhgiefnnnpeiifjlioijldrjsjvnijdggkflhjoqfhgipgnnnpeildjlioijgerjsjvnkjdggkflnioqfhgipinnnpeijdjlioijddrjsjvnjkdggkflmhoqfhgilfnnnpeipdjlioijgerjsjvntodggkflmkoqfhgiqinnnpeiogjlioijdcrjsjvnukdggkfljioqfhgihfnnnpeipdjlioijherjsjvnpmdggkfluioqfhgiognnnpeinejlioijaerjsjvnjkdggkflghoqfhgiejnnnpeihfjlioijfdrjsjvnpjdggkflmhoqfhgiofnnnpeimejlioijlhrjsjvnpjdggkfljioqfhgingnnnpeipdjlioijlhrjsjvnrkdggkfltioqfhgipfnnnpeiddjlioijkdrjsjvnikdggkflnioqfhgilgnnnpei. dst_master | [00:00:00]: [CRITICAL] Failed to save file: /home/dst/.klei//DoNotStarveTogether/DSTWhalesCluster/Master/save/modindex dst_master | [00:00:00]: [CRITICAL] Fingerprint:lhrjsjvnukdggkfltioqfhgigfnnnpeipdjlioijlhrjsjvnikdggkflhhoqfhgipgnnnpeijhjlioijkhrjsjvnxkdggkfluioqfhgiofnnnpeiddjlioijlhrjsjvntodggkflmkoqfhgiefnnnpeiifjlioijldrjsjvnijdggkflhjoqfhgipgnnnpeildjlioijgerjsjvnkjdggkflnioqfhgipinnnpeijdjlioijddrjsjvnjkdggkflmhoqfhgilfnnnpeipdjlioijgerjsjvntodggkflmkoqfhgiqinnnpeiogjlioijdcrjsjvnukdggkfljioqfhgihfnnnpeipdjlioijherjsjvnpmdggkfluioqfhgiognnnpeinejlioijaerjsjvnjkdggkflghoqfhgiejnnnpeihfjlioijfdrjsjvnpjdggkflmhoqfhgiofnnnpeimejlioijlhrjsjvnpjdggkfljioqfhgingnnnpeipdjlioijlhrjsjvnrkdggkfltioqfhgipfnnnpeiddjlioijkdrjsjvnikdggkflnioqfhgilgnnnpei. dst_caves | [00:00:02]: LOADING LUA SUCCESS dst_master | [00:00:02]: LOADING LUA SUCCESS dst_caves | [00:00:02]: PlayerDeaths could not load morgue dst_caves | [00:00:02]: PlayerHistory could not load player_history dst_master | [00:00:02]: PlayerDeaths could not load morgue dst_master | [00:00:02]: PlayerHistory could not load player_history dst_caves | [00:00:02]: bloom_enabled false dst_master | [00:00:02]: bloom_enabled false dst_caves | [00:00:02]: [CRITICAL] Failed to save file: /home/dst/.klei//DoNotStarveTogether/DSTWhalesCluster/Caves/save/profile dst_caves | [00:00:02]: [CRITICAL] Fingerprint:lhrjsjvnukdggkfltioqfhgigfnnnpeipdjlioijlhrjsjvnikdggkflhhoqfhgipgnnnpeijhjlioijkhrjsjvnxkdggkfluioqfhgiofnnnpeiddjlioijlhrjsjvntodggkflmkoqfhgiefnnnpeiifjlioijldrjsjvnijdggkflhjoqfhgipgnnnpeildjlioijgerjsjvnkjdggkflnioqfhgipinnnpeijdjlioijddrjsjvnjkdggkflmhoqfhgilfnnnpeipdjlioijgerjsjvntodggkflmkoqfhgiqinnnpeiogjlioijdcrjsjvnukdggkfljioqfhgihfnnnpeipdjlioijherjsjvnpmdggkfluioqfhgiognnnpeinejlioijaerjsjvnjkdggkflghoqfhgiejnnnpeinfjlioijfdrjsjvnkjdggkflnioqfhgiqgnnnpeijhjlioijherjsjvnnkdggkflkhoqfhgiofnnnpeijhjlioijeerjsjvnojdggkfltioqfhginfnnnpeiddjlioijidrjsjvnjkdggkfl. dst_caves | [00:00:02]: Could not load saveindex dst_caves | [00:00:02]: OnFilesLoaded() dst_caves | [00:00:02]: OnUpdatePurchaseStateComplete dst_master | [00:00:02]: [CRITICAL] Failed to save file: /home/dst/.klei//DoNotStarveTogether/DSTWhalesCluster/Master/save/profile dst_master | [00:00:02]: [CRITICAL] Fingerprint:lhrjsjvnukdggkfltioqfhgigfnnnpeipdjlioijlhrjsjvnikdggkflhhoqfhgipgnnnpeijhjlioijkhrjsjvnxkdggkfluioqfhgiofnnnpeiddjlioijlhrjsjvntodggkflmkoqfhgiefnnnpeiifjlioijldrjsjvnijdggkflhjoqfhgipgnnnpeildjlioijgerjsjvnkjdggkflnioqfhgipinnnpeijdjlioijddrjsjvnjkdggkflmhoqfhgilfnnnpeipdjlioijgerjsjvntodggkflmkoqfhgiqinnnpeiogjlioijdcrjsjvnukdggkfljioqfhgihfnnnpeipdjlioijherjsjvnpmdggkfluioqfhgiognnnpeinejlioijaerjsjvnjkdggkflghoqfhgiejnnnpeihfjlioijfdrjsjvnpjdggkflmhoqfhgiofnnnpeimejlioijlhrjsjvnpjdggkfljioqfhgingnnnpeipdjlioijlhrjsjvnmjdggkflghoqfhgiefnnnpeiqdjlioijndrjsjvnqkdggkflnioqfhgi. dst_master | [00:00:02]: Could not load saveindex dst_master | [00:00:02]: OnFilesLoaded() dst_master | [00:00:02]: OnUpdatePurchaseStateComplete dst_caves | [00:00:04]: Load FE dst_master | [00:00:04]: Load FE dst_caves | [00:00:04]: Load FE: done dst_master | [00:00:04]: Load FE: done dst_master | [00:00:06]: Reset() returning dst_master | [00:00:06]: THREAD - started 'WorldSim' (4006357824) dst_master | [00:00:06]: WorldSim::SimThread::Main() dst_master | [00:00:06]: DoLuaFile scripts/worldgen_main.lua dst_master | [00:00:06]: DoLuaFile loading buffer scripts/worldgen_main.lua dst_caves | [00:00:06]: DLC enabled : false dst_master | [00:00:06]: DLC enabled : false dst_caves | [00:00:06]: Mutex unlock failed with err 0x16 dst_caves | [00:00:06]: Mutex unlock failed with err 0x16 dst_caves | [00:00:06]: Mutex unlock failed with err 0x16 dst_caves | [00:00:06]: Mutex unlock failed with err 0x16 dst_caves | [00:00:06]: Mutex unlock failed with err 0x16 dst_caves | [00:00:06]: Mutex unlock failed with err 0x16 dst_caves | [00:00:06]: Mutex unlock failed with err 0x16 dst_caves exited with code 6 dst_master exited with code 6 dstdockererror.txt Link to comment Share on other sites More sharing options...
dread3ddie Posted January 8, 2018 Author Share Posted January 8, 2018 6 hours ago, Dekay said: I followed all the instructions but I'm getting permission errors when trying to run the server. Both Overworld and Caves exit with code 6. I'm running on a VPS with 1 processor, 1GB RAM and a Ubuntu 17 OS, logged in as root. I'm using Putty to SSH in from my Windows 10. Looks like a permissions issue. Have you done the Docker post-installation steps for Linux? I never try running it from the root user and would strongly advise against doing so. Can you try creating another user, adding it to the docker group (as suggested on the link) and running it again? Also on the link you'll find some permission related troubleshooting that might be helpful. Please let me know if you manage to get it running or if you are still having problems Link to comment Share on other sites More sharing options...
Dekay Posted January 8, 2018 Share Posted January 8, 2018 OK, so I've fixed the lack of permissions by creating a standard user and assigning it to the docker group in addition to the adm and sudo groups. Now I have a proper home folder and it seems DST can write to the folders it needs. (YAY). However, whenever I try to stop or restart the containers I get an error which forces me to hard restart the server to kill my containers. Spoiler ~/dst-dedicated-server$ docker-compose restart Restarting dst_caves ... error Restarting dst_master ... error ERROR: for dst_caves Cannot restart container 18f7c6ae3bb83fcb0ed7b0aa753366d168d84139dd8b820990b320cb66274e56: Cannot kill container 18f7c6ae3bb83fcb0ed7b0aa753366d168d84139dd8b820990b320cb66274e56: connection error: desc = "transport: dial unix /var/run/docker/containerd/docker-containerd.sock: connect: connection refused": unknown ERROR: for dst_master Cannot restart container 4c1a3e9256007acd7bd2de0ed3b25e8723a26981a2f5063b837204b7971c2a06: Cannot kill container 4c1a3e9256007acd7bd2de0ed3b25e8723a26981a2f5063b837204b7971c2a06: connection error: desc = "transport: dial unix /var/run/docker/containerd/docker-containerd.sock: connect: connection refused": unknown Any idea what is causing this? It kinda looks like it might be permissions related again but I've also tried running the command with sudo and it still fails out. Spoiler @vultr:~/dst-dedicated-server$ sudo docker-compose down Stopping dst_caves ... error Stopping dst_master ... error ERROR: for dst_caves cannot stop container: 18f7c6ae3bb83fcb0ed7b0aa753366d168d84139dd8b820990b320cb66274e56: Cannot kill container 18f7c6ae3bb83fcb0ed7b0aa753366d168d84139dd8b820990b320cb66274e56: connection error: desc = "transport: dial unix /var/run/docker/containerd/docker-containerd.sock: connect: connection refused": unknown Removing network dstdedicatedserver_dst_cluster ERROR: network dstdedicatedserver_dst_cluster id 69e5f70e40a1937ffb377b2967ae11292416c3a5074c8aa3b1412d65cba050a0 has active endpoints Also I get this error continuously about the shard failing to connect to the master and to date I've not been able to join the server once hosted so overall this still has a success rate of 0% for me. Spoiler dst_caves | [00:00:45]: About to start a shard with these settings: dst_caves | [00:00:45]: ShardName: Caves dst_caves | [00:00:45]: ShardID: 586447616 dst_caves | [00:00:45]: ShardRole: SLAVE dst_caves | [00:00:45]: MasterHost: dst_master dst_caves | [00:00:45]: MasterBind: (null) dst_caves | [00:00:45]: MasterPort: 10999 dst_caves | [00:00:45]: [Shard] Connecting to master... dst_caves | [00:00:53]: [Shard] Connection to master failed. Waiting to reconnect... I've attached the full log below as a text file. 1/10/2017 So I've given up on using Docker to deploy DST, I'm leaving these logs here for potential future users who might encounter the same problems I had or even figure out what went wrong for me but for now it's infinitely faster for me to deploy future servers the good old fashion way. fullonfailure.txt Link to comment Share on other sites More sharing options...
PaulEndri Posted January 18, 2018 Share Posted January 18, 2018 I was able to load up the docker image and have been using it no problem, thank you for this! I'm currently trying to configure this for multiple servers from the same source, its taking a bit of finagling but I'm almost got it! Link to comment Share on other sites More sharing options...
dread3ddie Posted January 19, 2018 Author Share Posted January 19, 2018 9 hours ago, PaulEndri said: I was able to load up the docker image and have been using it no problem, thank you for this! Awesome, thanks for posting your feedback @PaulEndri! Quote multiple servers from the same source Do you mean spinning up several dedicated servers in one machine, or? Care to clarify? Maybe I can help Link to comment Share on other sites More sharing options...
PaulEndri Posted January 20, 2018 Share Posted January 20, 2018 17 hours ago, machete_kills said: Do you mean spinning up several dedicated servers in one machine, or? Care to clarify? Maybe I can help Yup, exactly that, I was able to find that most of the magic in terms of the uniqueness is in the docker-compose.yaml file, edited that up all nice and neat, was able to get both my servers up and running, but the second one seems to refuse to connect to it's Caves shard despite as far as I can tell, all the ports being correct? Link to comment Share on other sites More sharing options...
myxal Posted February 5, 2018 Share Posted February 5, 2018 On 20/01/2018 at 3:28 AM, PaulEndri said: Yup, exactly that, I was able to find that most of the magic in terms of the uniqueness is in the docker-compose.yaml file, edited that up all nice and neat, was able to get both my servers up and running, but the second one seems to refuse to connect to it's Caves shard despite as far as I can tell, all the ports being correct? I haven't reviewed @machete_kills's docker scripts/guide thoroughly, but I haven't seen server.ini files being modified anywhere. IIRC, the shards communicate with each other through network sockets (this enables spreading the shards to multiple machines), but there is no fallback if the socket on the configured (or default) port fails to open. If you want to run multiple clusters on 1 host, you'll need to manually bump the port numbers which are conflicting. Link to comment Share on other sites More sharing options...
dread3ddie Posted February 9, 2018 Author Share Posted February 9, 2018 On 05/02/2018 at 6:33 PM, myxal said: I haven't reviewed @machete_kills's docker scripts/guide thoroughly, but I haven't seen server.ini files being modified anywhere. IIRC, the shards communicate with each other through network sockets (this enables spreading the shards to multiple machines), but there is no fallback if the socket on the configured (or default) port fails to open. If you want to run multiple clusters on 1 host, you'll need to manually bump the port numbers which are conflicting. There are two ways of managing the Shard config: 1) Top-level cluster.ini file: whatever is in here will be used thorough the whole Cluster (ALL shards); unless... 2) The server.ini inside the Shard folder: overrides any settings defined in cluster.ini. This is the highest priority config file, and it's Shard-exclusive (each shard has its own server.ini). So DSTClusterConfig/cluster.ini has most of the config to avoid unnecessary duplication of code; and both shards share these configs. Each shard also has its own server.ini with minor shard-specific overrides, keeping them as "clean" as possible with only things that are really specific to the shard. --- The above was just clarifying how the shard configurations were setup on the project, but I'd say @myxal is correct; To run multiple clusters on the same hosts the ports should be tweaked and unique per cluster. I haven't tried it myself; however I'd avise to make sure you have enough CPU cores as pretty much each shard "takes over" the core it's using when playing. Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.
Please be aware that the content of this thread may be outdated and no longer applicable.