[Support] ich777 - Gameserver Dockers


Recommended Posts

On 8/25/2020 at 10:06 AM, ich777 said:

If you look at the commits in my github repo it was also backgrounded in the old release.

 

In my case everything works as expected if I enter the variables.

It's true that my container is different from beamdogs.

 

Another possibility is to run nwnee in a screen session and connect to that.

 

What is the goal that you want to accomplish?

 

Save should be no problem since you can specify a autosave intervall.

 

Which options are required?

 

EDIT: can you send me a link or tutorial how loading a game works?

Sorry, I somehow missed your comment. My bad!

 

So, basically how the server works is that you launch it with a module, and it JustWorksTM.

However, there are a number of things you can do if you can access the server directly. Options can be changed in-game, you can load and save games (very useful if you and your party want to retry a game section, or to save before a major boss), you can kick users whose NWN has crashed (happens often unfortunately) so that they can log back in quickly, etc. This might not be useful if hosting a always-on persistent world, but it is essential if playing a module with a group of friends.

 

As described in Beamdog's docker (link), this is accomplished by running the docker with -dit and then attaching to it (with docker attach).

Once you are attached to it, write help and you'll be able to read on STDOUT all the available commands (load, save, kick, etc.), which you can execute. For example:

save 77 test_name   ### saves the savegame "test_name" on slot 77
load 77             ### loads slot 77
difficulty 4        ### sets difficulty to max
oneparty 1          ### allow only one party
kick 6              ### kick player 6 from the server
### many more commands are available

With the modification currently detaching STDIN this does not work and the server is effectively useful only for playing persistent worlds.

Link to comment
18 minutes ago, OdinEidolon said:

So, basically how the server works is that you launch it with a module, and it JustWorksTM.

Exactly, I think this is also how the beamdog container works but a little different.

 

18 minutes ago, OdinEidolon said:

With the modification currently detaching STDIN this does not work and the server is effectively useful only for playing persistent worlds.

I will modify the container so that screen is used, so you can easily connect to the console of the gameserver (just open a terminal from the container and connect to the screen session).

Link to comment
10 minutes ago, ich777 said:

Exactly, I think this is also how the beamdog container works but a little different.

 

I will modify the container so that screen is used, so you can easily connect to the console of the gameserver (just open a terminal from the container and connect to the screen session).

Yeah this is good as well!

Link to comment
On 8/30/2020 at 11:08 AM, stevep94 said:

Hi @Mobious - Did you manage to get your Ark server working? I've been having a go this afternoon and I can it to show in the server list and can connect but whenever I start/restart the docker container, the GameUserSettings.ini file in ask-se/Shootergame/Saved/Config/LinuxServer seems to reset itself back to the default settings?

 

I used the ini file creator here and no matter how much I overwrite the original file, it simply refuses to stay with the settings on my created file!?!? (in fact the two .ini files are very different in terms of content!)

Sorry for the delay. It turns out it was working the entire time. For some reason I can't see the steam listing. It probably has something to do with NAT reflection or something... Ich was able to see my server and connect without a problem.

  • Like 1
Link to comment
7 hours ago, OdinEidolon said:

Yeah this is good as well!

Update the container and the server runs in a screen session to connect to it open up a Unraid terminal (not the from the container) and type in: 'docker exec -u nwnee -ti NAMEOFYOURCONTAINER screen -xS nwnee' (without quotes).

 

Or you can also open up a terminal from the container itself and type in: 'screen -xS nwnee' (without quotes).

 

To disconnect from the screen session press CTRL+A and then CTRL+D, then simply close the terminal window.

 

I've also added this description to the template but it will take a few hours to update in the CA App:

CONSOLE: To connect to the console open up the terminal on the host machine and type in: 'docker exec -u nwnee -ti NAMEOFYOURCONTAINER screen -xS nwnee' (without quotes) to exit the screen session press CTRL+A and then CTRL+D or simply close the terminal window in the first place.

Link to comment
15 hours ago, ich777 said:

Update the container and the server runs in a screen session to connect to it open up a Unraid terminal (not the from the container) and type in: 'docker exec -u nwnee -ti NAMEOFYOURCONTAINER screen -xS nwnee' (without quotes).

 

Or you can also open up a terminal from the container itself and type in: 'screen -xS nwnee' (without quotes).

 

To disconnect from the screen session press CTRL+A and then CTRL+D, then simply close the terminal window.

 

I've also added this description to the template but it will take a few hours to update in the CA App:

CONSOLE: To connect to the console open up the terminal on the host machine and type in: 'docker exec -u nwnee -ti NAMEOFYOURCONTAINER screen -xS nwnee' (without quotes) to exit the screen session press CTRL+A and then CTRL+D or simply close the terminal window in the first place.

It's a good solution, yes. Thank you, will test in a few days.

  • Like 1
Link to comment

I've seen this question asked before but I still can't seem to figure this out: I'm running a 7 Days to Die server and I'm trying to change the settings in the /mnt/appdata/7dtd/serverconfig.xml file. Whenever this is edited, any changes are overwritten by a new default file when the docker is restarted. What is the correct way to change the server settings for this docker?

Link to comment
12 minutes ago, wcg66 said:

I've seen this question asked before but I still can't seem to figure this out: I'm running a 7 Days to Die server and I'm trying to change the settings in the /mnt/appdata/7dtd/serverconfig.xml file. Whenever this is edited, any changes are overwritten by a new default file when the docker is restarted. What is the correct way to change the server settings for this docker?

Which settings do you want to change?

 

The settings won't be overwritten are you having validation turned on?

Link to comment
Just now, wcg66 said:

Server name, password, save file, the usual settings.

Is your serverconfig variable set to the right file?

It will always reset if you rename it or something.

 

Also you can't rename the path to the Saves and also not User because otherwise it will break the container because 7DtD saves everything to the home folder which is not accessable from the container and so on every update or change of one of the variables your save will be gone...

That's why you can't change some things.

 

The servername and password are not affected by this!

 

Also you don't answered the whole question, have you set the variable Validate game files to 'true'?

 

Link to comment
2 minutes ago, ich777 said:

Is your serverconfig variable set to the right file?

It will always reset if you rename it or something.

 

Also you can't rename the path to the Saves and also not User because otherwise it will break the container because 7DtD saves everything to the home folder which is not accessable from the container and so on every update or change of one of the variables your save will be gone...

That's why you can't change some things.

 

The servername and password are not affected by this!

 

Also you don't answered the whole question, have you set the variable Validate game files to 'true'?

 

Validate was "true" does this wipe out the serverconfig.xml? Serverconfig is set to this file.

 

So are you saying, I can't move over a save of our world we have been playing in over to the this container?

Link to comment
Just now, wcg66 said:

Validate was "true" does this wipe out the serverconfig.xml? Serverconfig is set to this file.

I'm not 100% sure but I think so... (I personally don't own the game and can't test anything).

 

1 minute ago, wcg66 said:

So are you saying, I can't move over a save of our world we have been playing in over to the this container?

That's possible but only if you move it to the right place.

 

The user data folder must be here: /serverdata/serverfiles/User

The save folder must be here: /serverdata/serverfiles/Saves

(that's the folders User and Saves in your 7DtD directory in your appdata folder)

 

I can't do it any other way since the container will wipe your savegame everytime you change something in the docker template or an update.

 

 

The container works for sure because I know a few players that got no problem with it.

Link to comment
4 hours ago, ich777 said:

The user data folder must be here: /serverdata/serverfiles/User

The save folder must be here: /serverdata/serverfiles/Saves

(that's the folders User and Saves in your 7DtD directory in your appdata folder)

I'll give this a try, thanks.

 

UPDATE: Turning off validate is key to keeping serverconfig.xml from being wiped out. I can change the server settings now. Seems to be working, thanks.

Edited by wcg66
  • Thanks 1
Link to comment
9 minutes ago, koala784 said:

Hi ! Is it possible to update the container for Avorion ? The Unraid Docker for this game is running in 1.1.4, but the game is now in version 1.2.

 

Just asking, there is maybe something I don't know about how to do it, or why the game is not updated.

 

If I'me wrong, sorry !

Yes should be possible.

These containers update on a restart of the container itself.

 

If it doesn't do it please set the variable Validate gamefiles to 'true'

 

Since all games are updated through SteamCMD and that is executed on every start/restart of the container (can't include the dedicated server files this would be a copyright horror... :D ).

 

Hope this makes sense to you.

 

EDIT: Forgot to say that this is mentioned in the Description of all my containers: 'Update Notice: Simply restart the container if a newer version of the game is available.'

Link to comment
15 minutes ago, ich777 said:

Yes should be possible.

These containers update on a restart of the container itself.

 

If it doesn't do it please set the variable Validate gamefiles to 'true'

 

Since all games are updated through SteamCMD and that is executed on every start/restart of the container (can't include the dedicated server files this would be a copyright horror... :D ).

 

Hope this makes sense to you.

 

EDIT: Forgot to say that this is mentioned in the Description of all my containers: 'Update Notice: Simply restart the container if a newer version of the game is available.'

Thanks for the fast answer !

So I've setup the "Validate gamefiles" variable to "True", and restarted the container, but it seems to be still running in 1.1.2 :

Sans-titre.png

It also seems that the container isn't updated since 6 months :

image.thumb.png.0387a229325ec833be35d95c90d55b52.png

Or again there is something that I don't know / understand^^

Edited by koala784
Link to comment
19 minutes ago, koala784 said:

So I've setup the "Validate gamefiles" variable to "True", and restarted the container, but it seems to be still running in 1.1.2

Eventually the game developers haven't update the game itself for linux.

 

19 minutes ago, koala784 said:

It also seems that the container isn't updated since 6 months

As I said, it's updated through SteamCMD and the container doesn't need to be updated.

Eventually you understand it if I explain what the container does:

The container looks for SteamCMD and installs it if it isn't found

Then the container loads up SteamCMD and SteamCMD looks if the game is installed if it isn't installed SteamCMD downloads it

Then the container starts the server executable that is downloaded through SteamCMD

 

If you restart the container it happens in the exact same order as described above, I hope you understand now why the container don't needs to be updated.

 

The container runs just a script that starts SteamCMD and executes all commands through it.

 

19 minutes ago, koala784 said:

Or again there is something that I don't know / understand^^

I hope you understand now how this works.

The container doesn't needs to be updated because SteamCMD does the update, the container contains just the script that executes all commands through SteamCMD.

 

 

I would recommend to go to the Avorion forums and ask there if there the Linux version of the dedicated server isn't updated.

 

EDIT: The container only needs to be updated if the developers change something at the startup for example the change the server executable or something like that but that would result in not starting or that it constantly looping (restarting)

Link to comment

Thanks so much for your work devs!  I've just discovered unRAID and yesterday spun up a Rust server with this plugin.

I've managed to understand where to place my config.cfg file.  I've added some additional parameters to the startup script.  However I get error

Quote

"Command 'rcon.password' not found"

which is strange, I've checked the syntax and used this previously on another Rust server.  Any clues?

Command Line: "/serverdata/serverfiles/RustDedicated" "-batchmode" "+server.port" "28015" "+server.hostname" "Dandrews Lockdown" "+server.description" "beta-testing for a hopefully more permanent server. Feel free to join/play." "+rcon.port" "28016" "+rcon.password" ""OMITTED"" "+server.identity" ""my_server_identity""
Command 'batchmode' not found
server.port: "28015"
server.hostname: "Dandrews Lockdown"
server.description: "beta-testing for a hopefully more permanent server. Feel free to join/play."
rcon.port: "28016"
Command 'rcon.password' not found
server.identity: "my_server_identity"
Server Config Loaded

 

Edited by belch85
Status Updated
Link to comment
1 hour ago, belch85 said:

Thanks so much for your work devs!  I've just discovered unRAID and yesterday spun up a Rust server with this plugin.

I've managed to understand where to place my config.cfg file.  I've added some additional parameters to the startup script.  However I get error

which is strange, I've checked the syntax and used this previously on another Rust server.  Any clues?


Command Line: "/serverdata/serverfiles/RustDedicated" "-batchmode" "+server.port" "28015" "+server.hostname" "Dandrews Lockdown" "+server.description" "beta-testing for a hopefully more permanent server. Feel free to join/play." "+rcon.port" "28016" "+rcon.password" ""OMITTED"" "+server.identity" ""my_server_identity""
Command 'batchmode' not found
server.port: "28015"
server.hostname: "Dandrews Lockdown"
server.description: "beta-testing for a hopefully more permanent server. Feel free to join/play."
rcon.port: "28016"
Command 'rcon.password' not found
server.identity: "my_server_identity"
Server Config Loaded

 

What did you changed where?

Did you edit the startup script itself in the container itself or did you just insert it in the template at 'Game Parameters'?

If so please send me a screenshoot of your template

Link to comment
3 minutes ago, ich777 said:

What did you changed where?

Did you edit the startup script itself in the container itself or did you just insert it in the template at 'Game Parameters'?

If so please send me a screenshoot of your template

image.thumb.png.ebca5df3433b7c3da9713b822fbe9420.png

 

I think (but could be wrong) that error will always be in the startup log of Rust.  I've just tested by installing another Rust Server Docker and I was able to connect to RCON (and it also displayed that error during the startup log).  So I suspect something else is going on here, potentially to do with network/routing.

Naturally I haven't changed my port forwards or anything when testing - so there must be something in your Docker that I need to tweak.

 

Could it be that the network type is BRIDGE whereas the other docker is in HOST?

Link to comment
12 minutes ago, belch85 said:

I think (but could be wrong) that error will always be in the startup log of Rust.  I've just tested by installing another Rust Server Docker and I was able to connect to RCON (and it also displayed that error during the startup log).  So I suspect something else is going on here, potentially to do with network/routing.

Naturally I haven't changed my port forwards or anything when testing - so there must be something in your Docker that I need to tweak.

 

Could it be that the network type is BRIDGE whereas the other docker is in HOST?

Yes this error will be always there look here: Click

 

If you bind port 27016 (in the Game Parameters) to the RCON Port you also have to create a new port entry to be reachable from outside, please don't use host it makes things more complicated if you run more containers...

Just click on 'Add another Path, Port, Variable, Label or Device' then select 'Port' from the drop down menu then enter your RCON Port number at Container Port and also the same number to Host Port and click Add (eventually select the right protocol but I think RCON is TCP - correct my if I'm wrong).

Then the port is exposed from the container and reachable with bridge mode.

 

EDIT: If you add another port or something to a container you always have to add also a port forwarding in the template with the methode above if you are in bridge mode (I recommend to be in that mode to keep things simple), you also could use Custom so all ports will be exposed with a static IP in your network but that's often not that easy if you got many container, keep it simple and try bridge mode ;) .

 

EDIT2: Should look something like this:

Bildschirmfoto_2020-09-07_13-41-56.png.4ebac7b6a81a320a5e7040fbf9905342.png

  • Like 1
Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.