[GH-ISSUE #1032] [dstserver] Complete overhaul needed #816

Closed
opened 2026-02-27 02:53:41 +03:00 by kerem · 6 comments
Owner

Originally created by @marvinlehmann on GitHub (Aug 26, 2016).
Original GitHub issue: https://github.com/GameServerManagers/LinuxGSM/issues/1032

Originally assigned to: @marvinlehmann on GitHub.

Current dev branch: dstserver-new (compare to develop branch)

Problems:

  • server structure changed: the server is a "cluster" which contains maps ("shards"); a vanilla server should consist of a overworld "shard "(usually named "Master") and a cave "shard" (usually named "Caves")
  • each "shard" has to be an own server - "shards" are connected by sinkholes/stairs in the map
  • there are cluster and "server/shard" configs - what about servercfgdir/information/...?

In the end these files have to be created:
~\.klei\DoNotStarveTogether\MyDediServer\cluster.ini ~\.klei\DoNotStarveTogether\MyDediServer\Master\server.ini ~\.klei\DoNotStarveTogether\MyDediServer\Caves\server.ini ~\.klei\DoNotStarveTogether\MyDediServer\Caves\worldgenoverride.lua
And two servers have to be started.

Config path structure: /home/dstserver/<persistent_storage_root>/<conf_dir>/<cluster>/<shard>

  • directories are changeable by identically named cmdline parameters
    Should we create variables for cluster and shard? Should the other variables be changeable too?

Guides / Documentations:
Quick Setup
Server Settings
Command Line Options
Understanding Shards and Migration Portals

I also want to note that this dontstarve.wikia.com setup guide is outdated.

I don't know where to start. I already read much and tried a bit but everything seems complicated and dirty. I need someone who pushes me into the right direction. I can't decide which paths to set to what and if there should be script copies for each shard (would be annoying when installing the server; idk how it should be realized)?

I have to update the wiki page too: https://github.com/GameServerManagers/LinuxGSM/wiki/Don't-Starve-Together

I'll likely improve this post over time. I probably forgot some things.

I'll probably create a new branch to play a bit around tomorrow.

Originally created by @marvinlehmann on GitHub (Aug 26, 2016). Original GitHub issue: https://github.com/GameServerManagers/LinuxGSM/issues/1032 Originally assigned to: @marvinlehmann on GitHub. ## Current dev branch: [dstserver-new](https://github.com/GameServerManagers/LinuxGSM/tree/dstserver-new) ([compare to develop branch](https://github.com/GameServerManagers/LinuxGSM/compare/develop...dstserver-new)) Problems: - server structure changed: the server is a "cluster" which contains maps ("shards"); a vanilla server should consist of a overworld "shard "(usually named "Master") and a cave "shard" (usually named "Caves") - each "shard" has to be an own server - "shards" are connected by sinkholes/stairs in the map - there are cluster and "server/shard" configs - what about servercfgdir/information/...? In the end these files have to be created: ` ~\.klei\DoNotStarveTogether\MyDediServer\cluster.ini ~\.klei\DoNotStarveTogether\MyDediServer\Master\server.ini ~\.klei\DoNotStarveTogether\MyDediServer\Caves\server.ini ~\.klei\DoNotStarveTogether\MyDediServer\Caves\worldgenoverride.lua ` And two servers have to be started. Config path structure: `/home/dstserver/<persistent_storage_root>/<conf_dir>/<cluster>/<shard>` * directories are changeable by identically named cmdline parameters Should we create variables for cluster and shard? Should the other variables be changeable too? Guides / Documentations: [Quick Setup](http://forums.kleientertainment.com/topic/64441-dedicated-server-quick-setup-guide-linux/) [Server Settings](http://forums.kleientertainment.com/topic/64552-dedicated-server-settings-guide/) [Command Line Options](http://forums.kleientertainment.com/topic/64743-dedicated-server-command-line-options-guide/) [Understanding Shards and Migration Portals](http://forums.kleientertainment.com/topic/59174-understanding-shards-and-migration-portals/) I also want to note that [this dontstarve.wikia.com setup guide](http://dontstarve.wikia.com/wiki/Guides/Don%E2%80%99t_Starve_Together_Dedicated_Servers) is outdated. I don't know where to start. I already read much and tried a bit but everything seems complicated and dirty. I need someone who pushes me into the right direction. I can't decide which paths to set to what and if there should be script copies for each shard (would be annoying when installing the server; idk how it should be realized)? I have to update the wiki page too: https://github.com/GameServerManagers/LinuxGSM/wiki/Don't-Starve-Together I'll likely improve this post over time. I probably forgot some things. I'll probably create a new branch to play a bit around tomorrow.
kerem 2026-02-27 02:53:41 +03:00
Author
Owner

@dgibbs64 commented on GitHub (Aug 26, 2016):

Im starting to regret supporting this server. The devs keep making big changes to the server. This will be the second time now that the server has broken because of the devs changing stuff.

<!-- gh-comment-id:242846318 --> @dgibbs64 commented on GitHub (Aug 26, 2016): Im starting to regret supporting this server. The devs keep making big changes to the server. This will be the second time now that the server has broken because of the devs changing stuff.
Author
Owner

@marvinlehmann commented on GitHub (Sep 23, 2016):

I would like to have someone who could review and test my stuff so we can make the last changes/optimizations/cleanup to finally move it to the master branch. For me it seems to be working but this server is also affected by #957.

/LinuxGSM/tree/dstserver
/LinuxGSM/compare/dstserver
/LinuxGSM/wiki/Don't-Starve-Together (I'm not that good at explaining things.)

<!-- gh-comment-id:249183951 --> @marvinlehmann commented on GitHub (Sep 23, 2016): I would like to have someone who could review and test my stuff so we can make the last changes/optimizations/cleanup to finally move it to the master branch. For me it seems to be working but this server is also affected by #957. [/LinuxGSM/tree/dstserver](https://github.com/GameServerManagers/LinuxGSM/tree/dstserver) [/LinuxGSM/compare/dstserver](https://github.com/GameServerManagers/LinuxGSM/compare/dstserver) [/LinuxGSM/wiki/Don't-Starve-Together](https://github.com/GameServerManagers/LinuxGSM/wiki/Don%27t-Starve-Together) (I'm not that good at explaining things.)
Author
Owner

@marvinlehmann commented on GitHub (Oct 14, 2016):

Just leaving this as a note here:

bind_ip (set as start parameter, in cluster.ini or server.ini)
Default: 127.0.0.1
Required: If shard_enabled = true and is_master = true
This is the network address the master server will listen on for other shard servers to connect to. Set this to 127.0.0.1 if all of your servers in your cluster are on the same machine, or 0.0.0.0 if the servers in your cluster are on different machines. This only needs to be set for the master server, either in cluster.ini, or the master server's server.ini.

#1120

<!-- gh-comment-id:253919697 --> @marvinlehmann commented on GitHub (Oct 14, 2016): Just leaving this as a note here: > **bind_ip** (set as start parameter, in cluster.ini or server.ini) > **Default**: 127.0.0.1 > **Required**: If shard_enabled = true and is_master = true > This is the network address the master server will listen on for other shard servers to connect to. Set this to 127.0.0.1 if all of your servers in your cluster are on the same machine, or 0.0.0.0 if the servers in your cluster are on different machines. This only needs to be set for the master server, either in cluster.ini, or the master server's server.ini. #1120
Author
Owner

@marvinlehmann commented on GitHub (Nov 18, 2016):

Current dev branch: dstserver-new (compare to develop branch)

To Discuss:

  • bind_ip as config setting and/or as startup parameter? (see previous comment) config is preferred
  • standardize config handling more ([fn_set_dst_config_vars()] (https://github.com/GameServerManagers/LinuxGSM/blob/dstserver-new/lgsm/functions/install_config.sh#L69-L117)) in install_config.sh? (but how)
  • regarding service and shard name (dstserver): dst-server-${shard} (edit manually if necessary)
    1. replace shard name by service name (I wouldn't go with that)
    2. combine them like "dst-server-${shard}" (also add ${cluster} for uniqueness if using multiple cluster with shards sharing the same name?)
    3. let them be separated (manual)

Is it okay how implemented all this stuff (particulary installation vars and config handling)?

Everything seems to be stable and working fine for me. I just (really) need your opinions on that for doing last changes if necessary to finalize the script.

* reminder: branch var has to be changed & wiki updated

<!-- gh-comment-id:261514701 --> @marvinlehmann commented on GitHub (Nov 18, 2016): #### Current dev branch: [dstserver-new](https://github.com/GameServerManagers/LinuxGSM/tree/dstserver-new) ([compare to develop branch](https://github.com/GameServerManagers/LinuxGSM/compare/develop...dstserver-new)) **To Discuss:** - ~~bind_ip as config setting and/or as startup parameter? (see previous comment)~~ **config is preferred** - standardize config handling more ([fn_set_dst_config_vars()] (https://github.com/GameServerManagers/LinuxGSM/blob/dstserver-new/lgsm/functions/install_config.sh#L69-L117)) in install_config.sh? (but how) - ~~regarding service and shard name ([dstserver](https://github.com/GameServerManagers/LinuxGSM/blob/dstserver-new/DontStarveTogether/dstserver)):~~ **dst-server-${shard} (edit manually if necessary)** ~~1. replace shard name by service name (I wouldn't go with that)~~ ~~2. combine them like "dst-server-${shard}" (also add ${cluster} for uniqueness if using multiple cluster with shards sharing the same name?)~~ ~~3. let them be separated (manual)~~ Is it okay how implemented all this stuff (particulary installation vars and config handling)? Everything seems to be stable and working fine for me. I just (really) need your opinions on that for doing last changes if necessary to finalize the script. \* reminder: branch var has to be changed & wiki updated
Author
Owner

@marvinlehmann commented on GitHub (Nov 28, 2016):

Changes introduced with r161125 (9e21a76a34)

<!-- gh-comment-id:263319584 --> @marvinlehmann commented on GitHub (Nov 28, 2016): Changes introduced with r161125 (9e21a76a3421ff63680781d6a4c746cb697f29a6)
Author
Owner

@lock[bot] commented on GitHub (Jul 19, 2018):

This thread has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.

<!-- gh-comment-id:406138479 --> @lock[bot] commented on GitHub (Jul 19, 2018): This thread has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.
Sign in to join this conversation.
No labels
Atomic
Epic
cannot reproduce
command: backup
command: console
command: debug
command: details
command: fast-dl
command: install
command: mods
command: monitor
command: post-details
command: restart
command: send
command: start
command: stop
command: update
command: update-lgsm
command: validate
command: wipe
distro: AlmaLinux
distro: Arch Linux
distro: CentOS
distro: Debian
distro: Fedora
distro: RedHat
distro: Rocky Linux
distro: Ubuntu
distro: openSUSE
engine: goldsrc
engine: source
game: 7 Days to Die
game: ARMA 3
game: Ark: Survival Evolved
game: Assetto Corsa
game: Avorion
game: BATTALION: Legacy
game: Barotrauma
game: Battalion 1944
game: Battlefield 1942
game: Black Mesa: Deathmatch
game: Blade Symphony
game: Call of Duty 2
game: Call of Duty 4
game: Call of Duty: United Offensive
game: Counter-Strike 1.6
game: Counter-Strike 2
game: Counter-Strike: Global Offensive
game: Counter-Strike: Source
game: Day of Infamy
game: Dayz
game: Death Match Classic
game: Don't Starve Together
game: ET: Legacy
game: Eco
game: Factorio
game: Factorio
game: Garry's Mod
game: Half-Life
game: Hurtword
game: Insurgecy
game: Insurgecy
game: Insurgency: Sandstorm
game: Just Cause 3
game: Killing Floor
game: Killing Floor 2
game: Left 4 Dead 2
game: Minecraft
game: Minecraft Bedrock
game: Mordhau
game: Multi Theft Auto
game: Mumble
game: Natural Selection 2
game: No More Room in Hell
game: Pavlov VR
game: Post Scriptum
game: Project Zomboid
game: Quake 3
game: QuakeWorld
game: Red Orchestra: Ostfront 41-45
game: Return to Castle Wolfenstein
game: Rising World
game: Rust
game: San Andreas Multiplayer
game: Satisfactory
game: Soldat
game: Soldier of Fortune 2
game: Squad
game: Squad 44
game: Starbound
game: Stationeers
game: Sven Co-op
game: Team Fortress 2
game: Teamspeak 3
game: Teeworlds
game: Terraria
game: The Front
game: Unreal Tournament 2004
game: Unreal Tournament 3
game: Unreal Tournament 99
game: Unturned
game: Valheim
game: Wurm Unlimited
game: Zombie Master Reborn
game: label missing
good first issue
help wanted
info: alerts
info: dependency
info: docker
info: docs
info: email
info: query
info: steamcmd
info: systemd
info: tmux
info: website
info: website
needs more info
outcome: duplicate
outcome: issue resolved
outcome: issue resolved
outcome: issue unresolved
outcome: pr accepted
outcome: pr rejected
outcome: unconfirmed
outcome: wontfix
outcome: wrong forum
potential-duplicate
priority
pull-request
type: bug
type: feature
type: feature
type: feature request
type: game server request
type: refactor
waiting response
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/LinuxGSM#816
No description provided.