[Support] ich777 - Gameserver Dockers


Recommended Posts

49 minutes ago, tater0519 said:

Hello and thank you for any assistance!  I am trying to get the Neverwinter Nights EE server up and running and am running into an issue.  I have copied a couple of mods into the Neverwinter Nights/modules folder, but on startup I constantly get this message.

"Your 'modules' folder is empty......".

Here is the docker start command.

root@localhost:# /usr/local/emhttp/plugins/dynamix.docker.manager/scripts/docker run -d --name='NeverwinterNights-EE' --net='bridge' -e TZ="America/Chicago" -e HOST_OS="Unraid" -e 'LOG_LVL'='4' -e 'MOD_NAME'='Kingmaker' -e 'MAX_CLIENTS'='4' -e 'MINLEVEL'='1' -e 'MAXLEVEL'='40' -e 'PAUSEAPLAY'='1' -e 'PVP'='0' -e 'SERVERVAULT'='1' -e 'ELC'='1' -e 'ILR'='1' -e 'ONEPARTY'='0' -e 'DIFF'='2' -e 'AUTO_SAV_I'='15' -e 'SRV_NAME'='Tater'\''s NWNEE' -e 'PPW'='XXXXXXX' -e 'APWD'='XXXXXXX' -e 'PUBLIC_SRV'='0' -e 'RLD_W_E'='0' -e 'GAME_PARAMS'='' -e 'UID'='99' -e 'GID'='100' -e 'UMASK'='000' -p '5121:5121/udp' -v '/mnt/disk1/appdata/nwnee':'/nwnee':'rw' --restart=unless-stopped 'ich777/nwnee-server'

 

Also, how would I go about setting up the server for the original campaign?  Thanks!!!!!

I have it copied into my nwn/Neverwinter Nights/modules folder

image.png.bb1f84c657918474aa15dc65469d151b.png

Link to comment
18 minutes ago, tater0519 said:

HellraiserOSU, I was just about to post about the OC mod files.  I see these as .nwm files on my local installation.  Are those the right files and I just need to change the extension to .mod?

 

Thanks for replying!

Gosh it's been so long since I did this. I want to say yes I just renamed them and made the extensions .mod  . I'd say try that and see. I will say I now have these files as a backup in case I need to ever do it again. Hope it works!

Link to comment
7 hours ago, DBone-Unraid said:

 

Do I have to put them in a specific location and does the ARK0-A3C docker call them somehow?

 

They are already in the container, they are posted there for reference, so that people can see what it is they do. So long as you fill in the backup location and duration it “should” just work.

Link to comment
5 hours ago, tater0519 said:

Yea, that didn't work, same thing, no modules in folder.  I feel like I'm missing something simple.

Have you installed a Cache drive in your system? If yes, make sure that the share that the game files are on "Prefer" or "Only" in the Share tab in Unraid at "Use Cache" otherwise if you set it to "Yes" unRAID will move the files from the Cache files to the Array and the Container can't find the files anymore since in the template the path to the files is usually set to "/mnt/cache/appdata/..."

Link to comment

I do not have a cache drive, but your post got me there.  The server files location was set to /mnt/disk1/appdata.  I changed that to /mnt/user/appdata and that appears to have gotten me going.

 

So, what module do I load if I just want to play the original campaign?  Do I have to specify each module individually or ???

 

Thanks!!!!

  • Like 1
Link to comment
5 hours ago, tater0519 said:

I do not have a cache drive, but your post got me there.  The server files location was set to /mnt/disk1/appdata.  I changed that to /mnt/user/appdata and that appears to have gotten me going.

 

So, what module do I load if I just want to play the original campaign?  Do I have to specify each module individually or ???

 

Thanks!!!!

 

If you want to play the original, Prelude is the one you want  to start. The docker config will let you set what module it loads up initially. After that  the save file takes over.

image.thumb.png.45201120c2e34f34a4d77feca86d4b89.png

  • Thanks 1
Link to comment

Minecraft Basic Server Docker container continues to terminate on modpack installation.  

 

Container creation: Command:
root@localhost:# /usr/local/emhttp/plugins/dynamix.docker.manager/scripts/docker create --name='MinecraftBasicServer' --net='bridge' -e TZ="America/Denver" -e HOST_OS="Unraid" -e 'JAR_NAME'='serverstarter-2.0.1' -e 'GAME_V'='custom' -e 'GAME_PARAMS'='' -e 'EXTRA_JVM_PARAMS'='' -e 'XMS_SIZE'='4096' -e 'XMX_SIZE'='4096' -e 'ACCEPT_EULA'='true' -e 'RUNTIME_NAME'='jre16' -e 'UID'='99' -e 'GID'='100' -p '25565:25565/tcp' -p '25575:25575/tcp' -p '9011:8080/tcp' -v '/mnt/disk1/appdata/minecraft':'/serverdata/serverfiles':'rw' --restart=unless-stopped 'ich777/minecraftbasicserver'
e53f6ae1f2824f0f24ca870dff83a2d88fc5d083492de8fff7e8fbc3f4a61b37

 

Set the jar file correctly and the version to custom.  It starts and then terminates almost immediately.  I can't tell if its the mod pack or the container settings killing the server.

mcdocker.log

Link to comment
1 hour ago, SideSh0wWilly said:

Set the jar file correctly and the version to custom.  It starts and then terminates almost immediately.  I can't tell if its the mod pack or the container settings killing the server.

This seems like some kind of java error when starting the server, can you please test it on your local Windows/Mac/Linux machine if it does run?

What kind of Java version does this mod need?

Link to comment
6 hours ago, ich777 said:

This seems like some kind of java error when starting the server, can you please test it on your local Windows/Mac/Linux machine if it does run?

What kind of Java version does this mod need?

I believe with the 1.17 servers it needs the new JDK 16 not the JRE.  It does run on windows now that the JDK is installed.  I was reading on the runtime, but couldn't find anything on replacing what's in the container.

Link to comment
52 minutes ago, SideSh0wWilly said:

I believe with the 1.17 servers it needs the new JDK 16 not the JRE.  It does run on windows now that the JDK is installed.  I was reading on the runtime, but couldn't find anything on replacing what's in the container.

The container downloads it on start, if you want the container to download it again, delete the runtime folder in the main directory, of course stop the container before doing this.

Link to comment
On 10/9/2020 at 11:34 AM, Cyd said:

Working on it right now!

 

Hi @Cyd,

Can you please give me some ideas as to why my GameUserSettings.ini and Game.ini are always being overwritten upon server start?  Maybe you can help me fix it?  I am not using a complex setup or anything.  Just ich777's Docker with pretty standard settings.  I got the MODS working by adding the Volume Mappings that you mentioned in one of your posts...  This was so that I could use -automanagedmods in the Extra Parameters, and it works like a charm.. All MODS being installed an updated on startup now.  I appreciate that a lot.  It was making me pull my hair out lol.

 

These are all the mappings currently setup on my server.  Right now only one server:

/serverdata/steamcmd <-> /mnt/user/appdata/steamcmd
/serverdata/serverfiles <-> /mnt/user/appdata/ark-se
/serverdata/serverfiles/Engine/Binaries/ThirdParty/SteamCMD/Linux <-> /mnt/user/appdata/steamcmd
/serverdata/Steam/steamapps <-> /mnt/user/appdata/steamcmd/steamapps
/serverdata/serverfiles/Engine/Binaries/ThirdParty/SteamCMD/Linux/steamapps <-> /mnt/user/appdata/steamcmd/steamapps

 

This is basically my next hurdle that I am trying to fix.  Getting the GameUserSettings.ini and Game.ini settings to stick, and not be overwritten at launch.  Help is very very appreciated.  I will include the contents of my files right now, just in case there is something in the actual files causing it that you can see... Here it is:

GameUserSettings.ini

*********************

 

[/Script/ShooterGame.ShooterGameUserSettings]
Version=5

[ServerSettings]
ShowMapPlayerLocation=True
AllowThirdPersonPlayer=True
ServerCrosshair=True
ServerPassword=chrisemery
ServerAdminPassword=bacardi1977
RCONPort=27020
TheMaxStructuresInRange=10500.000000
OxygenSwimSpeedStatMultiplier=50
StructurePreventResourceRadiusMultiplier=1.000000
TribeNameChangeCooldown=15.000000
PlatformSaddleBuildAreaBoundsMultiplier=1.000000
StructurePickupTimeAfterPlacement=5.000000
StructurePickupHoldDuration=0.000000
AllowIntegratedSPlusStructures=False
AllowHideDamageSourceFromLogs=False
RaidDinoCharacterFoodDrainMultiplier=1.000000
PvEDinoDecayPeriodMultiplier=1.000000
KickIdlePlayersPeriod=3600.000000
PerPlatformMaxStructuresMultiplier=1.000000
AutoSavePeriodMinutes=15.000000
ListenServerTetherDistanceMultiplier=1.000000
MaxTamedDinos=8000.000000
ItemStackSizeMultiplier=100.000000
RCONServerGameLogBuffer=600.000000
AllowHitMarkers=True
RCONEnabled=True
alwaysNotifyPlayerJoined=True
alwaysNotifyPlayerLeft=True
globalVoiceChat=False
noTributeDownloads=True
serverPVE=True

[SessionSettings]
SessionName=AmityIsland-TestingPhase

[/Script/Engine.GameSession]
MaxPlayers=100

 

Game.ini

*********

 

[/Script/ShooterGame.ShooterGameMode]
bDisableStructurePlacementCollision=true
bPvEDisableFriendlyFire=True
bDisableFriendlyFire=True

[/Script/Engine.GameSession]
bRequiresPushToTalk=true

 

Again, Thanks in advance :)

Edited by Body Karate
Link to comment
7 hours ago, ich777 said:

The container downloads it on start, if you want the container to download it again, delete the runtime folder in the main directory, of course stop the container before doing this.

Removed the runtime folder and it can't find it.  I think that it is downloading the jre16 runtime and not the jdk.  Doesn't appear to be a container issue but a mod pack dependency issue.  Thanks for the help on this one.  

 

loving the repository.  

 

Edit:  I know its a java issue...

 

[16:26:46] [ERROR] Error while starting the server

java.io.IOException: Cannot run program "java" (in directory "."): error=2, No such file or directory
        at java.base/java.lang.ProcessBuilder.start(Unknown Source)
        at java.base/java.lang.ProcessBuilder.start(Unknown Source)
        at atm.bloodworkxgaming.serverstarter.LoaderManager.startAndWaitForProcess(LoaderManager.kt:257)
        at atm.bloodworkxgaming.serverstarter.LoaderManager.startServer(LoaderManager.kt:240)
        at atm.bloodworkxgaming.serverstarter.LoaderManager.handleServer(LoaderManager.kt:43)
        at atm.bloodworkxgaming.serverstarter.ServerStarter.startLoading(ServerStarter.kt:190)
        at atm.bloodworkxgaming.serverstarter.ServerStarterKt.main(ServerStarter.kt:202)
Caused by: java.io.IOException: error=2, No such file or directory
        at java.base/java.lang.ProcessImpl.forkAndExec(Native Method)
        at java.base/java.lang.ProcessImpl.<init>(Unknown Source)
        at java.base/java.lang.ProcessImpl.start(Unknown Source)

 

If I figure a way to put the jdk in the runtime folder I will post back here with it.

Edited by SideSh0wWilly
java version mismatch
Link to comment
8 hours ago, Body Karate said:

 

Hi @Cyd,

Can you please give me some ideas as to why my GameUserSettings.ini and Game.ini are always being overwritten upon server start?  Maybe you can help me fix it?  I am not using a complex setup or anything.  Just ich777's Docker with pretty standard settings.  I got the MODS working by adding the Volume Mappings that you mentioned in one of your posts...  This was so that I could use -automanagedmods in the Extra Parameters, and it works like a charm.. All MODS being installed an updated on startup now.  I appreciate that a lot.  It was making me pull my hair out lol.

 

These are all the mappings currently setup on my server.  Right now only one server:

/serverdata/steamcmd <-> /mnt/user/appdata/steamcmd
/serverdata/serverfiles <-> /mnt/user/appdata/ark-se
/serverdata/serverfiles/Engine/Binaries/ThirdParty/SteamCMD/Linux <-> /mnt/user/appdata/steamcmd
/serverdata/Steam/steamapps <-> /mnt/user/appdata/steamcmd/steamapps
/serverdata/serverfiles/Engine/Binaries/ThirdParty/SteamCMD/Linux/steamapps <-> /mnt/user/appdata/steamcmd/steamapps

 

This is basically my next hurdle that I am trying to fix.  Getting the GameUserSettings.ini and Game.ini settings to stick, and not be overwritten at launch.  Help is very very appreciated.  I will include the contents of my files right now, just in case there is something in the actual files causing it that you can see... Here it is:

GameUserSettings.ini

*********************

 

[/Script/ShooterGame.ShooterGameUserSettings]
Version=5

[ServerSettings]
ShowMapPlayerLocation=True
AllowThirdPersonPlayer=True
ServerCrosshair=True
ServerPassword=chrisemery
ServerAdminPassword=bacardi1977
RCONPort=27020
TheMaxStructuresInRange=10500.000000
OxygenSwimSpeedStatMultiplier=50
StructurePreventResourceRadiusMultiplier=1.000000
TribeNameChangeCooldown=15.000000
PlatformSaddleBuildAreaBoundsMultiplier=1.000000
StructurePickupTimeAfterPlacement=5.000000
StructurePickupHoldDuration=0.000000
AllowIntegratedSPlusStructures=False
AllowHideDamageSourceFromLogs=False
RaidDinoCharacterFoodDrainMultiplier=1.000000
PvEDinoDecayPeriodMultiplier=1.000000
KickIdlePlayersPeriod=3600.000000
PerPlatformMaxStructuresMultiplier=1.000000
AutoSavePeriodMinutes=15.000000
ListenServerTetherDistanceMultiplier=1.000000
MaxTamedDinos=8000.000000
ItemStackSizeMultiplier=100.000000
RCONServerGameLogBuffer=600.000000
AllowHitMarkers=True
RCONEnabled=True
alwaysNotifyPlayerJoined=True
alwaysNotifyPlayerLeft=True
globalVoiceChat=False
noTributeDownloads=True
serverPVE=True

[SessionSettings]
SessionName=AmityIsland-TestingPhase

[/Script/Engine.GameSession]
MaxPlayers=100

 

Game.ini

*********

 

[/Script/ShooterGame.ShooterGameMode]
bDisableStructurePlacementCollision=true
bPvEDisableFriendlyFire=True
bDisableFriendlyFire=True

[/Script/Engine.GameSession]
bRequiresPushToTalk=true

 

Again, Thanks in advance :)

The first thing that catches my eye is that you are using /mnt/user/appdata rather than /mnt/cache/appdata for the are-se folder, depending on how your appdata share is setup it it could be moving things around under the hood on you. If you don’t have a cache setup ( you should set one up ; ) you could try using /mnt/disk(X)/appdata .

Link to comment
On 7/4/2021 at 9:06 PM, ich777 said:

Sady enough no, but if you can raise the funds or gift it to me I'm more thatn happy to create a container.

 

But from what I've see there is no native Linux client out there, eventually it will run through WINE but I can't tell for sure...

 

Thanks!

 

I'll keep it in mind but the game turned out to be insanely difficult so ended up getting a refund myself! 😁

  • Like 1
Link to comment
10 hours ago, Cyd said:

The first thing that catches my eye is that you are using /mnt/user/appdata rather than /mnt/cache/appdata for the are-se folder, depending on how your appdata share is setup it it could be moving things around under the hood on you. If you don’t have a cache setup ( you should set one up ; ) you could try using /mnt/disk(X)/appdata .

Hi @Cyd  :)

Ya.  I only have Mechanical Disks in there at the moment.  No Cache.  That is why I changed it to user/appdata...  I could look at picking up a 1TB SSD, and use that for a Cache Drive.  Loading times are a bit slow without it, but performance is great! Although I did read that your disks are always spun up when using the array....  I wanted to use your whole Cluster Setup, but I didn't understand how to actually install your Docker Companion...  I am pretty new to Linux and Unraid.  Maybe you could write a little short paragraph on how to install the docker companion for dummies :)  Or even for complete idiots!!  ;-)

Edited by Body Karate
Link to comment
On 7/7/2021 at 7:13 PM, Cyd said:

They are already in the container, they are posted there for reference, so that people can see what it is they do. So long as you fill in the backup location and duration it “should” just work.

 

Thank you so much @Cyd for the help and explanation.  I am excited to get all the maps up an running and save a bunch of storage on my cache drive.   Excellent work on getting this all setup.  Thank you.

Link to comment
38 minutes ago, Body Karate said:

Hi @Cyd  :)

Ya.  I only have Mechanical Disks in there at the moment.  No Cache.  That is why I changed it to user/appdata...  I could look at picking up a 1TB SSD, and use that for a Cache Drive.  Loading times are a bit slow without it, but performance is great! Although I did read that your disks are always spun up when using the array....  I wanted to use your whole Cluster Setup, but I didn't understand how to actually install your Docker Companion...  I am pretty new to Linux and Unraid.  Maybe you could write a little short paragraph on how to install the docker companion for dummies :)  Or even for complete idiots!!  ;-)

 

Hi  @Body Karate, I too was having issues with my GUS.ini & Gami.ini files being overwritten upon server restart.  It was happening randomly.  One way I found to keep the files intact was to use the linux chattr command to change the attribute of those two files so that they could not be modified, deleted or overwritten at all. 

 

To accomplish this once you have your settings how you want them in those files you would open up a terminal window from your unraid web interface and then change directory into to where those files are saved.  Then issue the following commands on those files:

 

chattr +i Game.ini
chattr +i GameUserSettings.ini

 

Keep in mind that you will not be able to edit these files once the command has been run.  In order to make changes to the files you will need to run the command using the -i option as follows:

 

chattr -i Game.ini
chattr -i GameUserSettings.ini

 

Once you make your changes run the command with the +i option mentioned previously and they should not get changed/overwritten when the server starts. 

 

You will get an error in the Docker log when the docker tries to change ownership of the files but that is fine because you don't want them to be touched once you have them set how you want them.

 

For one server this will work just fine but once you get multiple servers up and running and they each have their own GUS.ini & Game.ini settings then you will definitely want to look into the User Scripts plugin for unraid.  With that plugin you can write a script that can unlock the files, copy over the updated files that you updated from a location on your server that you can modify and then lock the files down again.

 

  • Like 1
Link to comment
On 7/10/2021 at 9:31 AM, DBone-Unraid said:

 

Hi  @Body Karate, I too was having issues with my GUS.ini & Gami.ini files being overwritten upon server restart.  It was happening randomly.  One way I found to keep the files intact was to use the linux chattr command to change the attribute of those two files so that they could not be modified, deleted or overwritten at all. 

 

To accomplish this once you have your settings how you want them in those files you would open up a terminal window from your unraid web interface and then change directory into to where those files are saved.  Then issue the following commands on those files:

 

chattr +i Game.ini
chattr +i GameUserSettings.ini

 

Keep in mind that you will not be able to edit these files once the command has been run.  In order to make changes to the files you will need to run the command using the -i option as follows:

 

chattr -i Game.ini
chattr -i GameUserSettings.ini

 

Once you make your changes run the command with the +i option mentioned previously and they should not get changed/overwritten when the server starts. 

 

You will get an error in the Docker log when the docker tries to change ownership of the files but that is fine because you don't want them to be touched once you have them set how you want them.

 

For one server this will work just fine but once you get multiple servers up and running and they each have their own GUS.ini & Game.ini settings then you will definitely want to look into the User Scripts plugin for unraid.  With that plugin you can write a script that can unlock the files, copy over the updated files that you updated from a location on your server that you can modify and then lock the files down again.

 

Hi @DBone-Unraid
Thank you so much for this response!!  :-)  This sounds like GOLD!  :)
I am going to try today, and get back to you.

Link to comment
On 7/10/2021 at 9:31 AM, DBone-Unraid said:

 

Hi  @Body Karate, I too was having issues with my GUS.ini & Gami.ini files being overwritten upon server restart.  It was happening randomly.  One way I found to keep the files intact was to use the linux chattr command to change the attribute of those two files so that they could not be modified, deleted or overwritten at all. 

 

To accomplish this once you have your settings how you want them in those files you would open up a terminal window from your unraid web interface and then change directory into to where those files are saved.  Then issue the following commands on those files:

 

chattr +i Game.ini
chattr +i GameUserSettings.ini

 

Keep in mind that you will not be able to edit these files once the command has been run.  In order to make changes to the files you will need to run the command using the -i option as follows:

 

chattr -i Game.ini
chattr -i GameUserSettings.ini

 

Once you make your changes run the command with the +i option mentioned previously and they should not get changed/overwritten when the server starts. 

 

You will get an error in the Docker log when the docker tries to change ownership of the files but that is fine because you don't want them to be touched once you have them set how you want them.

 

For one server this will work just fine but once you get multiple servers up and running and they each have their own GUS.ini & Game.ini settings then you will definitely want to look into the User Scripts plugin for unraid.  With that plugin you can write a script that can unlock the files, copy over the updated files that you updated from a location on your server that you can modify and then lock the files down again.

 

@DBone-Unraid
Oh My Goodness!  You are THE MAN!!  Thanks so much for this help.  I went ahead and installed the User Scripts plugin, which is very awesome and easy to use.... I then created a script that removes all -i from the ini files and deletes them, and copies over my edited versions from a "Safe Folder" and reapplies the +i attribute...  All my settings stick now, and it is as easy as running that plugin script from unraid after I edit the INI files from my safe folder :)  Thanks so so much for helping me with this.  a lot of hair pulling not happening now. 

  • Thanks 1
Link to comment
3 hours ago, Body Karate said:

@DBone-Unraid
Oh My Goodness!  You are THE MAN!!  Thanks so much for this help.  I went ahead and installed the User Scripts plugin, which is very awesome and easy to use.... I then created a script that removes all -i from the ini files and deletes them, and copies over my edited versions from a "Safe Folder" and reapplies the +i attribute...  All my settings stick now, and it is as easy as running that plugin script from unraid after I edit the INI files from my safe folder :)  Thanks so so much for helping me with this.  a lot of hair pulling not happening now. 

 

No problem @Body Karate.  Glad I was able to help.

  • 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.