ich777 / docker-steamcmd-server

Simple Dockerfile that installs steamcmd and a selected game server
119 stars 95 forks source link

Palword - XDG directory missing #53

Closed doomhound188 closed 6 months ago

doomhound188 commented 7 months ago

This might be affecting other containers but right now it only seems to be affecting Palword, the xdg directory is missing along with its config files

Palworld | Connecting anonymously to Steam Public...OK Palworld | Waiting for client config...OK Palworld | Waiting for user info...OK Palworld | Success! App '2394010' already up to date. Palworld | ---Checking if configuration is in place--- Palworld | ---Configuration found, continuing...--- Palworld | ---Checking if PublicIP is in place--- Palworld | ---PublicIP in PalWorldSettings.ini found: XXX.XXX.XXX.XXX Palworld | ---Prepare Server--- Palworld | ---Server ready--- Palworld | ---Start Server---

Palworld | sh: 1: xdg-user-dir: not found Palworld | dlopen failed trying to load: Palworld | steamclient.so Palworld | with error: Palworld | steamclient.so: cannot open shared object file: No such file or directory

Palworld | [S_API] SteamAPI_Init(): Loaded '/serverdata/.steam/sdk64/steamclient.so' OK. (First tried local 'steamclient.so') Palworld | CAppInfoCacheReadFromDiskThread took 3 milliseconds to initialize Palworld | Setting breakpad minidump AppID = 2394010 Palworld | [S_API FAIL] Tried to access Steam interface SteamUser021 before SteamAPI_Init succeeded. Palworld | [S_API FAIL] Tried to access Steam interface SteamFriends017 before SteamAPI_Init succeeded. Palworld | [S_API FAIL] Tried to access Steam interface STEAMAPPS_INTERFACE_VERSION008 before SteamAPI_Init succeeded. Palworld | [S_API FAIL] Tried to access Steam interface SteamNetworkingUtils004 before SteamAPI_Init succeeded.

I've broken the output of the logs from the container, it would seem I have the steamclient.so issue even though it was mentioned fixed in a previous issue

I can't seem to see my game server on the network, I've opened the firewall on my host and confirmed the port binding to my container ufw status Status: active

To Action From 8211/udp ALLOW Anywhere 8211/udp (v6) ALLOW Anywhere (v6)

iptables -L | grep 8211 ACCEPT udp -- anywhere 172.17.0.2 udp dpt:8211 ACCEPT udp -- anywhere anywhere udp dpt:8211

unnecessary ports have been redacted

docker-compose.yml version: '3' services: palworld: image: ich777/steamcmd:palworld container_name: Palworld ports:

anyone else having this issue? and is there a fix available?

ich777 commented 7 months ago

Palworld | sh: 1: xdg-user-dir: not found Palworld | dlopen failed trying to load: Palworld | steamclient.so Palworld | with error: Palworld | steamclient.so: cannot open shared object file: No such file or directory

This won't prevent the container from running properly, actually the second message about steamclient.so is resolved a line below if you would have read a bit further... ;)

And what is your exact issue? Are you not able to connect or what is the exact error message?

Servers currently won't show up because Epic has massive issues and the lobby is borked, see here.

I would recommend that you read this post from my support thread how to make a community server.

doomhound188 commented 7 months ago

Currently the issue is I can't add the server to the Steam Servers list, it errors and says no server found, when I attempt to connect to the server IP within the game it says a password is required and not entered and never prompts to enter the password

ich777 commented 7 months ago

Currently the issue is I can't add the server to the Steam Servers list, it errors and says no server found, when I attempt to connect to the server IP within the game it says a password is required and not entered and never prompts to enter the password

This is a known issue, the server list is completely borked and not all servers are listed, Epic struggles currently to display all servers.

That's why you had to set the password to nothing because you couldn't connect to a server with a password via direct connect and this was a bug that the game devs pointed out in their documentation. However that should be resolved with today's updated, now you should have a checkbox right beside the IP address field which enables you to enter a password.

ich777 commented 7 months ago

Anyways, I have pushed an update to fix the messages, but as said above, my server is running just fine (and for many other too with these two messages).

It is just the in game server list and the borked direct connection that currently is a hurdle for most people.

ich777 commented 7 months ago

Please let me know what your findings on your side are.

doomhound188 commented 7 months ago

I tested with the new container image, The errors in the container are now gone. Now it's just accessing the server issue which is nothing to do with your image. If I leave the password and select the "Enter Password" check box I get Password did not Match, If I remove the password I get No password was entered. I can't seem to get into the game. I also can't seem to add the local LAN IP of the server to the Steam servers list it just doesn't see it which may be related to an issue you mentioned earlier. As it stands right now the container is running but I can't seem to access it, if I exec into the container and shutdown the server and run the start script I get a port binding error for port 27015 even though that's not the port configured.

ich777 commented 7 months ago

What file or better speaking in which location do you edit the config file? Did you stop the container first? Since if you edit the file and just restart the container your changes will be discarded. If using no password make sure that the double quotes are still in place and even when using a password it must be wrapped in double quotes. See README.md which file to edit (right at the top).

doomhound188 commented 6 months ago

YAY! I got it working! This is the file I modified ./serverfiles/Pal/Saved/Config/LinuxServer/PalWorldSettings.ini, and yes I did stop the container before making any changes. here are the current contents of the ini. [/Script/Pal.PalGameWorldSettings] OptionSettings=(Difficulty=None, DayTimeSpeedRate=1.000000, NightTimeSpeedRate=1.000000, ExpRate=1.000000, PalCaptureRate=1.000000, PalSpawnNumRate=1.000000, PalDamageRateAttack=1.000000, PalDamageRateDefense=1.000000, PlayerDamageRateAttack=1.000000, PlayerDamageRateDefense=1.000000, PlayerStomachDecreaceRate=1.000000, PlayerStaminaDecreaceRate=1.000000, PlayerAutoHPRegeneRate=1.000000, PlayerAutoHpRegeneRateInSleep=1.000000, PalStomachDecreaceRate=1.000000, PalStaminaDecreaceRate=1.000000, PalAutoHPRegeneRate=1.000000, PalAutoHpRegeneRateInSleep=1.000000, BuildObjectDamageRate=1.000000, BuildObjectDeteriorationDamageRate=1.000000, CollectionDropRate=1.000000, CollectionObjectHpRate=1.000000, CollectionObjectRespawnSpeedRate=1.000000, EnemyDropItemRate=1.000000, DeathPenalty=All, bEnablePlayerToPlayerDamage=False, bEnableFriendlyFire=False, bEnableInvaderEnemy=True, bActiveUNKO=False, bEnableAimAssistPad=True, bEnableAimAssistKeyboard=False, DropItemMaxNum=3000, DropItemMaxNum_UNKO=100, BaseCampMaxNum=128, BaseCampWorkerMaxNum=15, DropItemAliveMaxHours=1.000000, bAutoResetGuildNoOnlinePlayers=False, AutoResetGuildTimeNoOnlinePlayers=72.000000, GuildPlayerMaxNum=20, PalEggDefaultHatchingTime=72.000000, WorkSpeedRate=1.000000, bIsMultiplay=False, bIsPvP=False, bCanPickupOtherGuildDeathPenaltyDrop=False, bEnableNonLoginPenalty=True, bEnableFastTravel=True, bIsStartLocationSelectByMap=True, bExistPlayerAfterLogout=False, bEnableDefenseOtherGuildPlayer=False, CoopPlayerMaxNum=4, ServerPlayerMaxNum=32, ServerName="Palworld", ServerDescription="Palworld", AdminPassword=MySuperSecureSecretPasswordNotEvenaBotwillGuess, ServerPassword="", PublicPort=8211, PublicIP=XXX.XXX.XXX.XXX RCONEnabled=False, RCONPort=25575, Region= bUseAuth=True, BanListURL="https://api.palworldgame.com/api/banlist.txt"

Thanks for all your help with this issue!

ich777 commented 6 months ago

Glad to hear that it is working. So can this issue be closed?