Linux don starve together
I’m trying to use the «Don’t Starve Together Dedicated Server» on my 64-bit Mint Linux machine.
When I start it from Steam, I get a pop-up: «Failed to start game (missing executable).»
In the directory.
/.steam/steam/SteamApps/common/Don’t Starve Together Dedicated Server/bin/
. there is a dontstarve bash script that ends with:
./dontstarve_steam
. but in the directory is only.
./dontstarve_dedicated_server_nullrenderer
This appears to be a mistake by the devs?
Either way, when I try to run it, I get:
——
./dontstarve_dedicated_server_nullrenderer: error while loading shared libraries: libcurl-gnutls.so.4: cannot open shared object file: No such file or directory
——
I tried:
# ln -s /usr/lib/x86_64-linux-gnu/libcurl-gnutls.so.4 /usr/lib/libcurl-gnutls.so.4
But then I get:
——
./dontstarve_dedicated_server_nullrenderer: error while loading shared libraries: libcurl-gnutls.so.4: wrong ELF class: ELFCLASS64
——
Anyone have any suggestions?
I just finished setting up my dedicated DST server and it’s running smooth and fine 🙂
I am running Debian though, not sure about things being different on Mint, but first off, it’s a 32bit executable, so you must have a 32bit subsystem installed.
Hi
I’m actually trying to run the DST DS on a Debian Jessie (8.1) 64bits.
Unfortunately I miss some 32 bits libs which I cannot install (depending libc6 32bits which cannot be installed directrly, otherwise the apt system removes me all the 64bits related libs).
/DST/bin$ ldd ./dontstarve_dedicated_server_nullrenderer
linux-gate.so.1 (0xe65f2000)
libSDL2-2.0.so.0 => ./lib32/libSDL2-2.0.so.0 (0xe6512000)
libcurl-gnutls.so.4 => /usr/lib/libcurl-gnutls.so.4 (0xe64d2000)
librt.so.1 => /lib32/librt.so.1 (0xe64c9000)
libpthread.so.0 => /lib32/libpthread.so.0 (0xe64ac000)
libfmodevent.so => ./lib32/libfmodevent.so (0xe641f000)
libfmodex.so => ./lib32/libfmodex.so (0xe6299000)
libsteam_api.so => ./lib32/libsteam_api.so (0xe6286000)
libstdc++.so.6 => /usr/lib32/libstdc++.so.6 (0xe6194000)
libm.so.6 => /lib32/libm.so.6 (0xe6147000)
libgcc_s.so.1 => /usr/lib32/libgcc_s.so.1 (0xe612a000)
libc.so.6 => /lib32/libc.so.6 (0xe5f71000)
libdl.so.2 => /lib32/libdl.so.2 (0xe5f6c000)
libidn.so.11 => not found
liblber-2.4.so.2 => not found
libldap_r-2.4.so.2 => not found
libgssapi_krb5.so.2 => not found
libz.so.1 => /usr/lib32/libz.so.1 (0xe5f4e000)
/lib/ld-linux.so.2 (0xe65f3000)
libgnutls.so.26 => not found
libfmodex-4.44.07.so => ./lib32/libfmodex-4.44.07.so (0xe5dc9000)
/DST/bin$ ./dontstarve_dedicated_server_nullrenderer
./dontstarve_dedicated_server_nullrenderer: error while loading shared libraries: libidn.so.11: cannot open shared object file: No such file or directory
$ sudo apt-get install libidn11:i386
libidn11:i386 : Depends: libc6:i386 (>= 2.4) but will not be installed
Источник
Install Don’t Starve Together Game Server on Ubuntu 14.04
Don’t Starve Together is a multiplayer game written and published by Klei Entertainment, and is a multiplayer add- on to their single-player game Don’t Starve. This guide will explain how to prepare your Linode and install, then configure, Don’t Starve Together.
Before You Begin
You will need a Steam account and a copy of Don’t Starve Together.
Complete our guide: Install SteamCMD for a Steam Game Server. This will get SteamCMD installed and running on your Linode and this guide will pick up where the SteamCMD page leaves off.
Prerequisites for Don’t Starve Together
From the SteamCMD guide, two additional steps are needed specifically for DST.
Add an iptables firewall rule. This command assumes that you have only the iptables rules in place from the SteamCMD guide. This inserts a rule for port 10999 after the pre-existing iptables rules for SteamCMD.
After entering the above rule, run iptables-persistent again. You’ll be asked if you want to save the current IPv4 and IPv6 rules. Answer yes for IPv4 and no for IPv6.
Install some additional 32-bit packages:
Install Don’t Starve Together
Be sure you are in the directory
/Steam , then access the Steam> prompt.
From the SteamCMD prompt, login anonymously:
Or log in with your Steam username:
Install Don’t Starve Together to the Steam user’s home directory:
This can take some time. If the download looks as if it has frozen, be patient. Once the download is complete, you should see this output:
Configure Don’t Starve Together
Before you configure DST, you should launch it at least once to generate its configuration files:
Once you see this output, the server has been successfully launched:
You will see a error that looks similar to this:
This is completely normal and we will fix this in the next step.
Press Control+C to quit the server. You will return to the Linux command prompt.
Create a settings file for your Don’t Starve Together server in
/.klei/DoNotStarveTogether/ . Below is an example configuration file. You may use this and modify it as you need. Note that where several non-binary options exist, they are shown in this file delimited with a | , and numerical ranges are denoted with .. . Choose a single option.
Create a startup script for DST with the following contents:
Источник
Linux don starve together
This guide is for helping step by step to installed a dedicated server for don’t starve together with cave on Linux
I want to clarify that I will show my method to create a server on linux,
maybe it’s not the best method,but at least it works fine, there are lots of ways to do this,
you can even make your own scripts, I just want to explain the installation with maximum information,
I give just one example but you can customize your install as you wish
This guide is making on Debian 8 64 Bits,
I use VMware Workstation for make this guide
this software can virtualize any system on your computer without change your current system
so I don’t use FTP client to transfer files as Filezilla or Flashfxp
but you can very well do for cluster.ini, server.ini, worldgenoverride.lua and other file.
5,284 | уникальных посетителей |
128 | добавили в избранное |
Here are the commands for the differents distributions on Linux
if you have Ubuntu/Debian 64-Bit:
- yum install glibc libstdc++
- yum -y install glibc.i686
- yum install libcurl.so.4
- yum install libstdc++.so.6
only if you have error with libcurl.so.4 (RedHat/CentOS):
- dpkg —add-architecture i386 # If running a 64bit OS
- apt-get update
- apt-get install lib32gcc1 # If running a 64bit OS
- apt-get install lib32stdc++6 # If running a 64bit OS
- apt-get install libgcc1 # If running a 32bit OS
- apt-get install libcurl4-gnutls-dev:i386
- su — dst
- wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz
- tar -xvzf steamcmd_linux.tar.gz
- mkdir server_dst
- ./steamcmd.sh
- login anonymous
- force_install_dir /home/dst/server_dst
- app_update 343050 validate
- quit
you need to create two scripts for start two instances for each of the servers
(start.sh and start2.sh)
so i use text editor nano, but you can use other without problem
when you are in nano, just write your text and for save and quit press CTRL + X and Y for valid
this is for server Overworld:
- cd /home/dst/server_dst/bin
- nano start.sh
- ./dontstarve_dedicated_server_nullrenderer -console -cluster MyDediServer -shard Master
this is for server Cave:
- nano start2.sh
- ./dontstarve_dedicated_server_nullrenderer -console -cluster MyDediServer -shard Caves
- Change the directory that your configuration directory resides in. This should be an absolute path. The full path to your files will be
/ / where is the value set by -conf_dir. The default for this option depends on the platform:
- Change the name of your configuration directory. This name should not contain any slashes. The full path to your files will be
is the value set by the -persistent_storage_root option. The default is: «DoNotStarveTogether».
-cluster
- Set the name of the cluster directory that this server will use. The server will expect to find the cluster.ini file in the following location:
and are the values set by the -persistent_storage_root and -conf_dir options. The default is «Cluster_1».
-shard
- Set the name of the shard directory that this server will use. The server will expect to find the server.ini file in the following location:
, , and are the values set by the -persistent_storage_root, -conf_dir, and -cluster options. The default is «Master».
-offline
- Start the server in offline mode. In offline mode, the server will not be listed publicly, only players on the local network will be able to join, and any steam-related functionality will not work.
-console
- Allow lua commands to be entered in the command prompt or terminal that the server is running in.
-bind_ip
- Change the address that the server binds to when listening for player connections. This is an advanced feature that most people will not need to use.
-port
- Valid values: 1..65535
- The UDP port that this server will listen for connections on. This option overrides the [NETWORK] / server_port setting in server.ini. If you are running a multi-level cluster, this port must be different for each server. This port must be between 10998 and 11018 inclusive in order for players on the same LAN to see it in their server listing. Ports below 1024 are restricted to privileged users on some operating systems.
-players
- Valid values: 1..64
- Set the maximum number of players that will be allowed to join the game. This option overrides the [GAMEPLAY] / max_players setting in cluster.ini.
-steam_master_server_port
- Valid values: 1..65535
- Internal port used by steam. This option overrides the [STEAM] / master_server_port setting in server.ini. Make sure that this is different for each server you run on the same machine.
-steam_authentication_port
- Valid values: 1..65535
- Internal port used by steam. This option overrides the [STEAM] / authentication_port setting in server.ini. Make sure that this is different for each server you run on the same machine.
-backup_logs
- Create a backup of the previous log files each time the server is run. The backups will be stored in a directory called «backup» in the same directory as server.ini.
-tick
- Valid values: 15 .. 60
- This is the number of times per-second that the server sends updates to clients. Increasing this may improve precision, but will result in more network traffic. This option overrides the [NETWORK] / tick_rate setting in cluster.ini. It is recommended to leave this at the default value of 15. If you do change this option, it is recommended that you do so only for LAN games, and use a number evenly divisible into 60 (15, 20, 30).
that’s for server Overworld:
- sh start.sh
when you see in end of log: «Your Server Will Not Start»
press CTRL+C for stop server
that’s for server Cave:
- sh start2.sh
when you see in end of log: «Your Server Will Not Start»
press CTRL+C for stop server
For find your token you just need to launch your game and go in your account info:
- Go in Play
- Go in account info
now you can see your token (Klei Dedicated Server Token)
if you don’t see your token, you just need to add in the white box Klei Dedicated Server Token and click on Generate Server Token
note and keep your token for use to the next step
the token is mandatory without him your server can not be online, it allows for Klei to have the option to remove the server in case of violation or problem with this server
- nano /home/dst/.klei/DoNotStarveTogether/MyDediServer/cluster_token.txt
put your token and press CTRL + X and Y for valid
worldgenoverride.lua represents the settings to generate the world for don’t starve together, so you can adjust the season, monsters, or biomes and more
after that press CTRL + X and Y for save and quit
after that press CTRL + X and Y for save and quit
cluster.ini have settings for both servers (server name, slots, gametype)
here the option list for cluster.ini:
- Default: 6
- Maximum number of snapshots to retain. These snapshots are created every time a save occurs, and are available in the “Rollback” tab on the “Host Game” screen.
- Default: false
- Enable server sharding. This must be set to true for multi-level servers. For single-level servers, it can be omitted.
bind_ip
- Overridable in 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.
master_ip
- Overridable in server.ini
- Default: none
- Required: If shard_enabled = true and is_master = false
- This is the I.P. address that a non-master shard will use when trying to connect to the master shard. If all servers in a cluster are on the same machine, set this to 127.0.0.1
master_port
- Overridable in server.ini
- Default: 10888
- This is UDP port that the master server will listen on, and that a non-master shard will use when trying to connect to the master shard. This should be set to the same value for all shards by having a single entry in cluster.ini, or omitted completely to use the default.
cluster_key
- Overridable in server.ini
- Default: none
- Required if shard_enabled = true
- This is a password used to authenticate a slave server to the master. If you are running servers on different machines that need to connect to each other, this value must be the same on each machine. For servers running on the same machine, you can just set this once in cluster.ini.
- Default: false
- When set to true, the server will only allow connections from players belonging to the steam group listed in the steam_group_id setting.
steam_group_id
- Default: 0
- Steam group id for steam_group_only / steam_group_admins settings. See here for instructions on finding your steam group id: http://forums.kleientertainment.com/topic/55994-server-admin-associate-your-server-with-a-steam-group/
steam_group_admins
- Default: false
- When this is set to true, admins of the steam group specified in steam_group_id will also have admin status on the server.
- Default: false
- Create an offline server. The server will not be listed publicly, and only players on the local network will be able to join, and any steam-related functionality will not work.
tick_rate
- Default: 15
- This is the number of times per-second that the server sends updates to clients. Increasing this may improve precision, but will result in more network traffic.
whitelist_slots
- Default: 0
- The number of reserved slots for whitelisted players. To whitelist a player, add their Klei UserId to the whitelist.txt file (Place this file in the same directory as cluster.ini)
cluster_password
- Default: none
- This is the password that players must enter to join your server. Leave this blank or omit it for no password.
cluster_name
- The name for your server cluster. This is the name that will show up in server browser.
cluster_description
- Default: empty
- Cluster description. This will show up in the server details area on the “Browse Games” screen.
lan_only_cluster
- Default: false
- When set to true, the server will only accept connections from machines on the same LAN
cluster_intention
- Default: Varies, depending on game mode.
- The cluster’s playstyle. This field is the equivalent of the “Server Playstyle” field on the “Host Game” screen. Valid values are cooperative, competitive, social, or madness.
- Default: 16
- The maximum number of players that may be connected to the cluster at one time.
pvp
- Default: survival
- The cluster’s game mode. This field is the equivalent of the “Game Mode” field on the “Host Game” screen. Valid values are survival, endless or wilderness
pause_when_empty
- Default: false
- Pause the server when there are no players connected.
vote_kick_enabled
- Default: false
- Set to true to enable the “Vote to Kick” feature.
here the option list for server.ini:
- Default: none
- Required: If shard_enabled = true
- Sets a shard to be the master shard for a cluster. There must be exactly one master server per cluster. Set this to true in your master server’s server.ini, and false in every other server.ini.
name
- Default: none
- Required: if shard_enabled = true and is_master = false
- This is the name of the shard that will show up in log files. It is ignored for the master server, which always has the name [SHDMASTER].
id
- Default: Randomly generated number.
- This is field is automatically generated for non-master servers, and is used internally to uniquely identify a server. Altering this or removing it may cause problems on your server if anybody’s character currently resides in the world that this server manages.
- Default: 8766
- Internal port used by steam. Make sure that this is different for each server you run on the same machine.
master_server_port
- Default: 27016
- Internal port used by steam. Make sure that this is different for each server you run on the same machine.
- Default: 10999
- The UDP port that this server will listen for connections on. If you are running a multi-level cluster, this port must be different for each server. This port must be between 10998 and 11018 inclusive in order for players on the same LAN to see it in their server listing. Ports below 1024 are restricted to privileged users on some operating systems.
now I’ll just going give sample configuration about settings for both servers
[GAMEPLAY]
game_mode = survival
max_players = 10
pvp = false
pause_when_empty = true
[NETWORK]
cluster_name = TEST Server
cluster_description = Welcome
cluster_password =
cluster_intention = social
autosaver_enabled = true
enable_vote_kick = false
[SHARD]
shard_enabled = true
bind_ip = 127.0.0.1
master_ip = 127.0.0.1
master_port = 11001
cluster_key = dst
and press CTRL + X and Y for save and quit
[STEAM]
master_server_port = 12346
authentication_port = 12345
and press CTRL + X and Y for save and quit
[SHARD]
is_master = false
name = Caves
[STEAM]
master_server_port = 12348
authentication_port = 12347
and press CTRL + X and Y for save and quit
he is ability to attach and detach a session
so if you don’t have screen on your dedicated server, you need install package screen:
- exit (come back with root)
- apt-get install screen
make new script restart.sh for server Overworld:
- su — dst
- nano /home/dst/server_dst/bin/restart.sh
and add this:
#!/bin/sh
# launch of server Overworld
#Command line
start_overworld=»sh start.sh»
#Start or Restart the server
screen -dr dst_server1 -X -S quit
cd $
screen -dmS dst_server1 $
and press CTRL + X and Y for save and quit
make new script restart2.sh for server Cave:
- nano /home/dst/server_dst/bin/restart2.sh
and add this:
#!/bin/sh
# launch of server Cave
#Command line
start_cave=»sh start2.sh»
#Start or Restart the server
screen -dr dst_server2 -X -S quit
cd $
screen -dmS dst_server2 $
and press CTRL + X and Y for save and quit
- sh /home/dst/server_dst/bin/restart.sh
- sh /home/dst/server_dst/bin/restart2.sh
if you see the message «No screen session found»
because the script try to kill screen,
so when you launch both scripts for first time, it’s start both servers
if you make again sh restart.sh or sh restart2.sh, it’s going restart the server
if you have this error ‘[200] Account Failed (6): «E_EXPIRED_TOKEN»‘
it’s look like problem with token:
Do not simply copy and paste the contents of this file from one machine to another. Move the actual file from one machine to another.
The cluster_token.txt is a null byte terminated ASCII file (no line endings). If the GSA attempts to copy-paste the contents of the token file, the null byte will be omitted and a line ending will be appended to the end. The dedicated server software will not be able to properly parse the cluster_token.txt file in this case.
we need check if server Overworld and server Cave works correctly
launch your game and check if you server is online:
so you need make simple script for update the server:
- nano /home/dst/server_dst/bin/update.sh
and add this:
- #update of server
- screen -dr dst_server1 -X quit
- screen -dr dst_server2 -X quit
- cd /home/dst
- ./steamcmd.sh +login anonymous +force_install_dir /home/dst/server_dst +app_update 343050 validate +quit
- sleep 10
- sh /home/dst/server_dst/bin/restart.sh
- sh /home/dst/server_dst/bin/restart2.sh
and press CTRL + X and Y for save and quit
so we can test update.sh for see if it’s works correctly:
- sh /home/dst/server_dst/bin/update.sh
now you need to add this in crontab:
- 0 6 * * * sh /home/dst/server_dst/bin/update.sh
and press CTRL + X and Y for save and quit
your server will be restarted and updated daily at 6:00 am
htop it’s just monitor system processes on linux
- login on root (exit for come back with root)
- apt-get install htop
- su — dst
- htop -u dst
select the screen of you want kill with the directional arrows
press F9 and enter for kill the screen (that’s going stop the server)
if you want start server, make again sh restart.sh and sh restart2.sh
I hope this guide is good for you and especially to help you in installation of server DST on linux 🙂
when you are in your server DST:
— Press TAB
— Click on Server Actions
— Click on Regenerate World
when you are in your server DST:
— Press TAB
— Click on Server Actions
— Click on Rollback
this function allows returns to the previous day
if some players report troll have destroy camp on your server but he is not on the server right now!
you can banned him with SteamID
so you just need name of player and find him in your server_log.txt:
now you need copy this SteamID in blocklist.txt
create blocklist.txt here:
now restart your dedicated server
check if your blocklist.txt is loaded correctly:
you need to find this in your server_log.txt:
- OnLoadPermissionList: /home/dst/.klei/DoNotStarveTogether/MyDediServer/blocklist.txt
(Success)
so now if player try to join the server, he can’t because he is banned!
i have make this test with my SteamID and you can see im banned on my server:
so that’s can works for all players
so for add new admin on your server
you need to create adminlist.txt here:
now you need to add KU_***** in your adminlist.txt:
restart your server:
check now if your adminlist.txt is loading correctly on your server:
- OnLoadPermissionList: /home/dst/.klei/DoNotStarveTogether/MyDediServer/adminlist.txt (Success)
so now you can test with your friend if he have admin permission
you can see if your friend is admin on your server like the following screenshots:
this allows to reserve a number of slots for your friends or an admin of server,
this based on number slots of your server example if you reserved 5 slots and you have 15 slots on your server only 10 players from public can connect on the server
so for my example i going put 2 slots on my server and going put 2 KU_***** in my whitelist.txt
you need to create whitelist.txt here:
now you need to add KU_***** in your whitelist.txt:
(i have add also another KU_***** of other friend for make this test)
so you need also to add this option in your cluster.ini:
below of [NETWORK] add this:
now restart your server:
check now if your whitelist.txt is loading correctly on your server:
my friend connect on the server before me on the server and then when I try to connect:
that’s mean your reserved slots work fine now
this was just an example, but you can change the number of slots as you want
Источник