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.

MrNaxeros

Starting a server on friend's physical server

Recommended Posts

MrNaxeros    503

So, I have an interesting case here. I have a friend who I helped fund a new physical server so that we can host our own servers and play in our small group. I figured we could have a dedicated DST server, however I have to make all of the setup and configuration and then send it all to my friend.

I have watched two videos on setting up a server:
Don't Starve Together| Dedicated server | The better way
Don't Starve Together | dedicated server MOD tutorial

And here are two questions:
1. What does my friend have to do, so that the server will work on his machine? As in, does he need make his own cluster token, or mine would suffice? Does he need to set up ports? Is there something else he needs to do?
2. How do I make myself admin? My friend doesn't play DST (he has the game though), but I have others I play with so it would probably be a good idea to be able to manage the server in game.

Share this post


Link to post
Share on other sites
Daniel86268    389

1. Any Cluster token is technicially fine, keep in mind that the cluster token is bound to your account, and you'll be the one that "owns" the server. (The one who generated the cluster token is the Admin. You can add more using the Adminlist.txt file.)
Also make sure that your token doesn't get into the wrong hands. Dunno what could happen with it.
Usually you don't need to set up any portforwarding, since the DST server builds up a first connection to the Klei servers, and over that connection everyone can join. It doesn't hurt though, especially if you run into the "Ping: ??? Bug".

2. Mostly answered in #1 :p
For adding more Admins read this under the Administration topic: https://dontstarve.fandom.com/wiki/Guides/Don’t_Starve_Together_Dedicated_Servers

(Using the Adminlist.txt in the save folder. To get the Ku_ number it's probably the easiest to ban the person you want to give admin permissions to and move the line in the blocklist.txt to the Adminlist.txt)

Share this post


Link to post
Share on other sites
MrNaxeros    503

So... the token is basicaly a file that causes the server to connect to Klei server on my behalf and automaticaly gives me admin priviledges? That's good to know. I think I'll give him my token then. He won't be playing the game anyway.

Thanks for the help :) I'll write here if I stumble upon some issues.

Share this post


Link to post
Share on other sites
Daniel86268    389
18 hours ago, MrNaxeros said:

So... the token is basicaly a file that causes the server to connect to Klei server on my behalf and automaticaly gives me admin priviledges? That's good to know. I think I'll give him my token then. He won't be playing the game anyway.

Well, that's half of the story. It also authenticates the server to be owned by an owner of DST, so you have to buy the game to be able to host your own server.

You are welcome :D

Share this post


Link to post
Share on other sites
MrNaxeros    503

Can the tool and servers be anywhere? I just found out that friend's server doesn't have documents folder... so the DoNotStarveTogetherOverworld and Caves folders have no place to be, unless there is a way to redirect the script to another directory.

Share this post


Link to post
Share on other sites
Daniel86268    389

Technicially they can be everywhere, there are some limitations though (Iirc). On Linux for example the default location is in the ~/.klei folder (It's a hidden one), whereas in Windows it's in the Documents folder. The location inside said folders can be modified as needed in the launch script.

If you really wanna go crazy, you can always do some links in the filesystem to place it wherever you want.

The serverfiles themselves can just be placed anywhere, but have to be launched from wherever you placed them. I guess just remember where you dumped them :p .

Share this post


Link to post
Share on other sites
MrNaxeros    503

I found out that I have to get the launch_preconfigured_servers.bat in notepad and add:

-persistent_storage_root <directory_here>

before the -conf_dir in both lines for overworld and caves folder.

Share this post


Link to post
Share on other sites
MrNaxeros    503

Yet another problem emerged. The server does not appear in the server browser.

Port UDP 10999 was forwarded, and servers don't show any errors.

Overworld cluster.ini

[GAMEPLAY]
game_mode = endless
max_players = 8
pvp = false
pause_when_empty = true

[STEAM]
steam_group_id = 36551726
steam_group_admins = true
steam_group_only = true

[NETWORK]
cluster_name = XXX
cluster_description = YYY
cluster_password =
cluster_intention = social
autosaver_enabled = true
enable_vote_kick = true
 
[MISC]
console_enabled = true
 
[SHARD]
shard_enabled = true
bind_ip = 127.0.0.1
master_ip = 127.0.0.1
master_port = 11001
cluster_key = dst

 

Caves cluster.ini

[GAMEPLAY]
game_mode = endless
max_players = 8
pvp = false
pause_when_empty = true
 
[NETWORK]
cluster_name = XXX
cluster_description = YYY
cluster_password =
cluster_intention = social
autosaver_enabled = true
enable_vote_kick = true
 
[MISC]
console_enabled = true
 
[SHARD]
shard_enabled = true
bind_ip = 127.0.0.1
master_ip = 127.0.0.1
master_port = 11001
cluster_key = dst

 

Overworld server.ini

[NETWORK]
server_port = 10999


[SHARD]
is_master = true


[STEAM]
master_server_port = 12346
authentication_port = 12345


[ACCOUNT]
encode_user_path = true

 

Caves server.ini

[NETWORK]
server_port = 11000


[SHARD]
is_master = false
name = Caves
id = 3234835661


[STEAM]
master_server_port = 12348
authentication_port = 12347


[ACCOUNT]
encode_user_path = true

 

I don't know if it's something with the ports or launching through physical server is different... It all worked fine when I was testing it on my PC.


 

Share this post


Link to post
Share on other sites
cezarica    505

If there's a firewall that's blocking any outgoing connections you might want to look at that first. Also, doesn't hurt to sit in the console (you started and maintain them open with screen?) and see what happens live. If not, you can also look in the server log files, the server_log.txt in Master folder for example.

Edit: Forgot to answer the 100 points question: are you on Windows or under some Linux distro?

Share this post


Link to post
Share on other sites
Daniel86268    389

Check if you can connect manually using the command:

c_connect(<server-ip>,<port>,[password])

From your man menu. It might say what the issue is. (Usually version mismatch, or something.) If you can connect using this command, it either takes another second to list, or something else in the listing process is broken.

If it times out, check your firewall.

Share this post


Link to post
Share on other sites
MrNaxeros    503
6 hours ago, Daniel86268 said:

Check if you can connect manually using the command:


c_connect(<server-ip>,<port>,[password])

From your man menu. It might say what the issue is. (Usually version mismatch, or something.) If you can connect using this command, it either takes another second to list, or something else in the listing process is broken.

If it times out, check your firewall.

Yep, it was version mismatch. Luck would have it that between the time when I configured the server to the moment my friend launched it on his machine, the server was updated.

It all works now. Thanks so much for the help. :)

Share this post


Link to post
Share on other sites
MrNaxeros    503

I got another small issue. How can I remotely control the server? I mean aside from in-game console since that requires me to be connected.

Friend told me something about rcom maybe? Truth be told neither I or he know how to do it.

 

Share this post


Link to post
Share on other sites
Daniel86268    389

On Linux it's easy cause you can just ssh into the server and control it that way.

Windows is a bit trickier. I guess Remotedesktop could work. Not sure about other connections, and no idea what rcom is.

Share this post


Link to post
Share on other sites
MrNaxeros    503

Is there something else for Windows? I doubt my friend would like me to have access to his entire server.

And I also have no idea what rcom is but I bet this is some typical way of controlling servers.

Share this post


Link to post
Share on other sites
MrNaxeros    503

Hey, I got another problem. The server doesn't auto-update. Steamcmd doesn't seem to react to new version, although it can be updated manualy.

Is there a way to automate this process? I'm starting to feel bad for constantly asking my friend to relaunch the server whenever it updates/crashes.

Share this post


Link to post
Share on other sites
Daniel86268    389
22 hours ago, MrNaxeros said:

The server doesn't auto-update. Steamcmd doesn't seem to react to new version, although it can be updated manualy.

Just add this line to your launch script:

steamcmd +login anonymous +force_install_dir D:\Servers\DST\ +app_update 343050 validate +quit

(And Ofc change the install dir to your DST server install dir.)

For him granting you access, he can just give you an account that only has permissions to start/stop the DST Server. (Any maybe modify some files in the DST Server directory.)
Otherwise you (and your friend) could always opt for a small linux VM on the server. Your friend could just grant you access on the VM, but not on the main machine.

Share this post


Link to post
Share on other sites
MrNaxeros    503

Apparently this script is already being used and doesn't work.

And for VM. This sounds like a good idea. I'll see what we can do with it.

Share this post


Link to post
Share on other sites