pelican-eggs / eggs

Service eggs for the pterodactyl panel
MIT License
2.82k stars 2.32k forks source link

[Egg Request]: Palworld #2669

Closed shredoo closed 7 months ago

shredoo commented 7 months ago

Does this expand an already existing service

No

Link to a game or software

https://store.steampowered.com/app/1623730/Palworld/

Links for the download

https://store.steampowered.com/app/1623730/Palworld/

Links for the install docs

https://store.steampowered.com/app/1623730/Palworld/

Destreyf commented 7 months ago

This is made by the same people behind Craftopia, so hopefully running a dedicated server is similar to that egg.

I know they broke the Craftopia dedicated servers at some point and I don't know what the current status is as it's not a game that I have played yet.

gOOvER commented 7 months ago

This is made by the same people behind Craftopia, so hopefully running a dedicated server is similar to that egg.

I know they broke the Craftopia dedicated servers at some point and I don't know what the current status is as it's not a game that I have played yet.

they should fix their Craftopia Release insteed releasing a new game. Not really worth to buy and create an server for it. But thats typical chinese releases; bringing out a reyyl good game and then create a new one and let the first die

Mithrahn commented 7 months ago

they should fix their Craftopia Release insteed releasing a new game. Not really worth to buy and create an server for it. But thats typical chinese releases; bringing out a reyyl good game and then create a new one and let the first die

Minor nitpick: Pocketpair is Japanese.

QuintenQVD0 commented 7 months ago

This is made by the same people behind Craftopia, so hopefully running a dedicated server is similar to that egg. I know they broke the Craftopia dedicated servers at some point and I don't know what the current status is as it's not a game that I have played yet.

they should fix their Craftopia Release insteed releasing a new game. Not really worth to buy and create an server for it. But thats typical chinese releases; bringing out a reyyl good game and then create a new one and let the first die

If you run the windows craftopua server with wine it works just fine.

Simsz commented 7 months ago

Link to dedicated server install instructions, linux is supported in that guide w/ steamCMD:

https://tech.palworldgame.com/dedicated-server-guide#qa

Ballaual commented 7 months ago

the server files are not in the anonymous branch currently, so login is once again required until they change it..

UPDATE: they just added it!

QuintenQVD0 commented 7 months ago

I made a test egg, it needs login of a real user that owns the game with steamguard off. UPDATE It seems like anonymous now works, egg edited

I currently have no node running or own the game so I can not test this egg. This egg also uses a startup script ( because I ofc can not see what is in the .sh file) so do not use in production!

in this state, this egg can and will not be merged.

https://gist.github.com/QuintenQVD0/8d7af6f08d716872ee609e9a203d696a

Ballaual commented 7 months ago

This egg also uses a startup script ( because I ofc can not see what is in the .sh file) so do not use in production!

!/bin/sh

UE_TRUE_SCRIPT_NAME=$(echo \"$0\" | xargs readlink -f) UE_PROJECT_ROOT=$(dirname "$UE_TRUE_SCRIPT_NAME") chmod +x "$UE_PROJECT_ROOT/Pal/Binaries/Linux/PalServer-Linux-Test" "$UE_PROJECT_ROOT/Pal/Binaries/Linux/PalServer-Linux-Test" Pal "$@"

EDIT Currently testing on my own, got the server running but not able to join. Will now switch to your version, which seems to be 1:1 what i've done so far and continue testing!

Ballaual commented 7 months ago

Startup Log To set server done currently need to be added some part of that line: Setting breakpad minidump AppID = 2394010

[Pterodactyl Daemon]: Finished pulling Docker container image
steam user is not set.
Using anonymous user.
tid(21) burning pthread_key_t == 0 so we never use it
WARNING: setlocale('en_US.UTF-8') failed, using locale: 'C'. International characters may not work.
Redirecting stderr to '/home/container/Steam/logs/stderr.txt'
Logging directory: '/home/container/Steam/logs'
[  0%] Checking for available updates...
[----] Verifying installation...
Steam Console Client (c) Valve Corporation - version 1705108307
-- type 'quit' to exit --
Loading Steam API...dlmopen steamservice.so failed: steamservice.so: cannot open shared object file: No such file or directory
OK
Connecting anonymously to Steam Public...OK
Waiting for client config...OK
Waiting for user info...OK
Success! App '2394010' already up to date.
:/home/container$ ./PalServer.sh -port ${SERVER_PORT} -players ${MAX_PLAYERS} -useperfthreads -NoAsyncLoadingThread -UseMultithreadForDS
Shutdown handler: initalize.
- Existing per-process limit (soft=1048576, hard=1048576) is enough for us (need only 1048576)
Increasing per-process limit of core file size to infinity.
- Existing per-process limit (soft=18446744073709551615, hard=18446744073709551615) is enough for us (need only 18446744073709551615)
dlopen failed trying to load:
steamclient.so
with error:
steamclient.so: cannot open shared object file: No such file or directory
[S_API] SteamAPI_Init(): Loaded '/home/container/.steam/sdk64/steamclient.so' OK.  (First tried local 'steamclient.so')
CAppInfoCacheReadFromDiskThread took 4 milliseconds to initialize
dlmopen steamservice.so failed: steamservice.so: cannot open shared object file: No such file or directory
Setting breakpad minidump AppID = 2394010
[S_API FAIL] Tried to access Steam interface SteamUser021 before SteamAPI_Init succeeded.
[S_API FAIL] Tried to access Steam interface SteamFriends017 before SteamAPI_Init succeeded.
[S_API FAIL] Tried to access Steam interface STEAMAPPS_INTERFACE_VERSION008 before SteamAPI_Init succeeded.
[S_API FAIL] Tried to access Steam interface SteamNetworkingUtils004 before SteamAPI_Init succeeded.

EDIT:

lilkingjr1 commented 7 months ago

default port is 7777

Not according to their docs (8221), but okay.

Also, I can try to build an egg that doesn't rely on the script (unless someone's already on it).

Ballaual commented 7 months ago

Not according to their docs (8221), but okay.

ingame they say 7777 but it also can be any other port

Also, I can try to build an egg that doesn't rely on the script (unless someone's already on it).

already tried with this startline ``cd Pal/Binaries/Linux && ./PalServer-Linux-Test -port 7877 -players 16 -useperfthreads -NoAsyncLoadingThread -UseMultithreadForDS```makes no difference for now.

However i am not able to find the server ingame or able to connect via IP:PORT.

hackles commented 7 months ago

fwiw DefaultPalWorldSettings.ini lists 8211 (not 8221) as default port

[/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="Default Palworld Server",ServerDescription="",AdminPassword="",ServerPassword="",PublicPort=8211,PublicIP="",RCONEnabled=False,RCONPort=25575,Region="",bUseAuth=True,BanListURL="https://api.palworldgame.com/api/banlist.txt")

note:

PublicPort=8211
Ballaual commented 7 months ago

@hackles is that from the Linux install? For me the file is empty..

there some more useful data inside such as server and admin pw rcon and worldname

Simsz commented 7 months ago

@hackles I think the support article has a typo. When you're in game the port for multiplayer connections also defaults to 8211 and NOT 8221

@Ballaual the DefaultPalWorldSettings.ini is a folder up from where the configuration is intended to be set: steamapps/common/PalServer/DefaultPalWorldSettings.ini

Ballaual commented 7 months ago

@hackles I think the support article has a typo. When you're in game the port for multiplayer connections also defaults to 8211 and NOT 8221

@Ballaual the DefaultPalWorldSettings.ini is a folder up from where the configuration is intended to be set: steamapps/common/PalServer/DefaultPalWorldSettings.ini

for Pterodactyl its localted in /home/container

RedNinja25 commented 7 months ago

So this is interesting, when I run @QuintenQVD0 's script, and run the server it clears out the /home/container/Pal/Saved/Config/LinuxServer/PalWorldSettings.ini every time, as the DefaultPalWorldSettings.ini doesnt reflect changes on the server...

Simsz commented 7 months ago

@Ballaual good call. Also the server works and I am able to connect when I use port 8211. There is an issue people were discussing in the discord about changing the port not working potentially?

Ballaual commented 7 months ago

@Ballaual good call. Also the server works and I am able to connect when I use port 8211. There is an issue people were discussing in the discord about changing the port not working potentially?

interesting, im still not able to join while using 8211. Have you set sth inside the file? nvm now it works... added public ip and password but seems the server ignores the password completely

QuintenQVD0 commented 7 months ago

NOTE: I edited my egg to drecitly launch the binary and not the sh file

masakiyoshi commented 7 months ago

try to get the settings working for the egg otherwise anyone can join the server

hackles commented 7 months ago

already tried with this startline ``cd Pal/Binaries/Linux && ./PalServer-Linux-Test -port 7877 -players 16 -useperfthreads -NoAsyncLoadingThread -UseMultithreadForDS```makes no difference for now.

their shell script passes Pal to PalServer-Linux-Test

-cd Pal/Binaries/Linux && ./PalServer-Linux-Test -port 7877 -players 16 -useperfthreads -NoAsyncLoadingThread -UseMultithreadForDS
+cd Pal/Binaries/Linux && ./PalServer-Linux-Test Pal -port 7877 -players 16 -useperfthreads -NoAsyncLoadingThread -UseMultithreadForDS

not sure if that makes a difference as i'm still using their shell script, just noticed what you had there differed from their default script

Ballaual commented 7 months ago

Quinten already updated the egg https://gist.github.com/QuintenQVD0/8d7af6f08d716872ee609e9a203d696a#file-egg-palworld-json-L18

danny6167 commented 7 months ago

Try setting the port with -port={{SERVER_PORT}}

Ballaual commented 7 months ago

did anyone already found out what the difference is between dedicated and community server (EpicApp=PalServer) ?

LexiieKF commented 7 months ago

I can confirm that there are no server parameters, rates etc in gameusersettings.ini and also the server name doesn't change I think because I don't see the server in the list

QuintenQVD0 commented 7 months ago

Updated, for the port now to be set -port={{SERVER_PORT}}

Ballaual commented 7 months ago

-port={{SERVER_PORT}}

Tested and confirmed working!

Simsz commented 7 months ago

@Ballaual apparently the difference is this: "Dedicated servers and community servers are the same, but the difference is community servers show up in the server list"

Rodhin commented 7 months ago

Hi, I've just launched the server with Quinten's egg, it works without any issues, I was able to connect trough direct connect. I just had to setup a startup done line in the egg's config.

QuintenQVD0 commented 7 months ago

Hi, I've just launched the server with Quinten's egg, it works without any issues, I was able to connect trough direct connect. I just had to setup a startup done line in the egg's config.

I don't have the node rn so I can not set / test it, can you share to what you set it?

Ballaual commented 7 months ago

I don't have the node rn so I can not set / test it, can you share to what you set it?

Setting breakpad minidump AppID = 2394010

Rodhin commented 7 months ago

Hi, I've just launched the server with Quinten's egg, it works without any issues, I was able to connect trough direct connect. I just had to setup a startup done line in the egg's config.

I don't have the node rn so I can not set / test it, can you share to what you set it?

I just used the line "Setting breakpad minidump AppID = 2394010" as others suggested it before, seems like afther this the server is ready for connections

RedNinja25 commented 7 months ago

Hi, I've just launched the server with Quinten's egg, it works without any issues, I was able to connect trough direct connect. I just had to setup a startup done line in the egg's config.

What port are you using, the default one? Im trying to do it with 7777 but no dice

Rodhin commented 7 months ago

Hi, I've just launched the server with Quinten's egg, it works without any issues, I was able to connect trough direct connect. I just had to setup a startup done line in the egg's config.

What port are you using, the default one? Im trying to do it with 7777 but no dice

I used the default port (8211)

Ballaual commented 7 months ago

@Ballaual apparently the difference is this: "Dedicated servers and community servers are the same, but the difference is community servers show up in the server list"

so maybe we should add this to startup line too? EpicApp=PalServer (do not edit) -publicip {{SERVER_IP}} -publicport {{SERVER_PORT}}

Ballaual commented 7 months ago

What port are you using, the default one? Im trying to do it with 7777 but no dice

default is 8211, do you use the latest egg? with updated startline? -port={{SERVER_PORT}} then you should able to use 7777 aswell

RedNinja25 commented 7 months ago

Hi, I've just launched the server with Quinten's egg, it works without any issues, I was able to connect trough direct connect. I just had to setup a startup done line in the egg's config.

What port are you using, the default one? Im trying to do it with 7777 but no dice

I used the default port (8211)

Damn, cuz I dont have access to my router where my server pc is setup atm, so i can't forward that port till someone wakes up

Edit: Im dumb and forgot I can just use my server pc as an ssh tunnel LMAO

Rodhin commented 7 months ago

Just found this in the official discord, I'm currently testing it (ofc I'm changing WindowsServer to LinuxServer):

Copy the settings from "DefaultPalWorldSettings.ini" in the PalServer folder, go to "PalServer\Pal\Saved\Config\WindowsServer" and open PalWorldSettings.ini and paste them in there, change what you want

and you can find some documentations for these config values here: https://tech.palworldgame.com/optimize-game-balance

Ballaual commented 7 months ago

Copy the settings from "DefaultPalWorldSettings.ini" in the PalServer folder, go to "PalServer\Pal\Saved\Config\WindowsServer" and open PalWorldSettings.ini and paste them in there, change what you want

Already tried it. After restart the file is empty again. The values set inside the file in the root directory do not effect anything.

Funny thing about that is they say you should edit the file in Saved/Config but they clear it everytime :D

; This configuration file is a sample of the default server settings. ; Changes to this file will NOT be reflected on the server. ; To change the server settings, modify Pal/Saved/Config/LinuxServer/PalWorldSettings.ini.

Rodhin commented 7 months ago

Copy the settings from "DefaultPalWorldSettings.ini" in the PalServer folder, go to "PalServer\Pal\Saved\Config\WindowsServer" and open PalWorldSettings.ini and paste them in there, change what you want

Already tried it. After restart the file is empty again. The values set inside the file in the root directory do not effect anything.

Funny thing about that is they say you should edit the file in Saved/Config but they clear it everytime :D

; This configuration file is a sample of the default server settings. ; Changes to this file will NOT be reflected on the server. ; To change the server settings, modify Pal/Saved/Config/LinuxServer/PalWorldSettings.ini.

Dunno, for me it worked, I've succesfully changed my servername, description and admin password and the Pal/Saved/Config/LinuxServer/PalWorldSettings.ini file kept the changes after server restart

B0rbor4d commented 7 months ago

Copy the settings from "DefaultPalWorldSettings.ini" in the PalServer folder, go to "PalServer\Pal\Saved\Config\WindowsServer" and open PalWorldSettings.ini and paste them in there, change what you want

Already tried it. After restart the file is empty again. The values set inside the file in the root directory do not effect anything. Funny thing about that is they say you should edit the file in Saved/Config but they clear it everytime :D ; This configuration file is a sample of the default server settings. ; Changes to this file will NOT be reflected on the server. ; To change the server settings, modify Pal/Saved/Config/LinuxServer/PalWorldSettings.ini.

Dunno, for me it worked, I've succesfully changed my servername, description and admin password and the Pal/Saved/Config/LinuxServer/PalWorldSettings.ini file kept the changes after server restart

Same for me, stopped the server, edited the PalWorldSettings.ini with the content from the DefaultPalWorldSettings.ini and started again. all changed settings took efect, but still not listed in Community Servers. but I see the changes worked as I changed the server name and this changed in the "Recent Server" tab.

docimin commented 7 months ago

Heyo,

On Linux I am getting: https://paste.techscode.com/mawemowuruyanem

Ballaual commented 7 months ago

Dunno, for me it worked, I've succesfully changed my servername, description and admin password and the Pal/Saved/Config/LinuxServer/PalWorldSettings.ini file kept the changes after server restart

seems like i had a typo inside the file. but after few restarts its empty again for me.......

Same for me, stopped the server, edited the PalWorldSettings.ini with the content from the DefaultPalWorldSettings.ini and started again. all changed settings took efect, but still not listed in Community Servers. but I see the changes worked as I changed the server name and this changed in the "Recent Server" tab.

try adding EpicApp=PalServer -publicip {{SERVER_IP}} -publicport {{SERVER_PORT}} to startup line

Ballaual commented 7 months ago

Heyo,

On Linux I am getting: https://paste.techscode.com/mawemowuruyanem

looks fine for me.

docimin commented 7 months ago

Heyo, On Linux I am getting: https://paste.techscode.com/mawemowuruyanem

looks fine for me.

Are you sure? Why is the start config needing to say "done!.." then? It looks like it's shutting down, but I am unsure.

Rodhin commented 7 months ago

Dunno, for me it worked, I've succesfully changed my servername, description and admin password and the Pal/Saved/Config/LinuxServer/PalWorldSettings.ini file kept the changes after server restart

seems like i had a typo inside the file. but after few restarts its empty again for me.......

Same for me, stopped the server, edited the PalWorldSettings.ini with the content from the DefaultPalWorldSettings.ini and started again. all changed settings took efect, but still not listed in Community Servers. but I see the changes worked as I changed the server name and this changed in the "Recent Server" tab.

try adding EpicApp=PalServer -publicip {{SERVER_IP}} -publicport {{SERVER_PORT}} to startup line

Thx, the EpicApp param itself wasn't enough, but with publicip and publicport now I can see my server in the community servers list :)

edit: there is a "Display next 200 results" button in the lower side of the server list, sometimes I have to go trough 2-3 pages so the search field can find my server

B0rbor4d commented 7 months ago

Dunno, for me it worked, I've succesfully changed my servername, description and admin password and the Pal/Saved/Config/LinuxServer/PalWorldSettings.ini file kept the changes after server restart

seems like i had a typo inside the file.

Same for me, stopped the server, edited the PalWorldSettings.ini with the content from the DefaultPalWorldSettings.ini and started again. all changed settings took efect, but still not listed in Community Servers. but I see the changes worked as I changed the server name and this changed in the "Recent Server" tab.

try adding EpicApp=PalServer -publicip {{SERVER_IP}} -publicport {{SERVER_PORT}} to startup line

I added EpicApp=PalServer to the end of my startup line, configured public Port and IP in the config and this did the trick. sadly I cannot use the public IP by variable as my pterodactyl is behind a NAT and the configured IP is a local one. but anyways I'm fine with the solution right now.

Big THX to all here geting this done

Have a wonderful release day <3

Rodhin commented 7 months ago

Dunno, for me it worked, I've succesfully changed my servername, description and admin password and the Pal/Saved/Config/LinuxServer/PalWorldSettings.ini file kept the changes after server restart

seems like i had a typo inside the file.

Same for me, stopped the server, edited the PalWorldSettings.ini with the content from the DefaultPalWorldSettings.ini and started again. all changed settings took efect, but still not listed in Community Servers. but I see the changes worked as I changed the server name and this changed in the "Recent Server" tab.

try adding EpicApp=PalServer -publicip {{SERVER_IP}} -publicport {{SERVER_PORT}} to startup line

I added EpicApp=PalServer to the end of my startup line, configured public Port and IP in the config and this did the trick. sadly I cannot use the public IP by variable as my pterodactyl is behind a NAT and the configured IP is a local one. but anyways I'm fine with the solution right now.

Big THX to all here geting this done

Have a wonderful release day <3

I have a NAT setup too, just add your real public IP to the "publicip" param not the {{SERVER_IP}} variable and it will work :)

Ballaual commented 7 months ago

Heyo, On Linux I am getting: https://paste.techscode.com/mawemowuruyanem

looks fine for me.

Are you sure? Why is the start config needing to say "done!.." then? It looks like it's shutting down, but I am unsure.

The done parameter is still missing in the egg. In the meanwhile add manually until he fixed it. { "done": "Setting breakpad minidump AppID = 2394010" }

@QuintenQVD0 EpicApp=PalServer -publicip {{SERVER_IP}} -publicport {{SERVER_PORT}}

Thx, the EpicApp param itself wasn't enough, but with publicip and publicport now I can see my server in the community servers list :)

Gangoke commented 7 months ago

Heyo, On Linux I am getting: https://paste.techscode.com/mawemowuruyanem

looks fine for me.

Are you sure? Why is the start config needing to say "done!.." then? It looks like it's shutting down, but I am unsure.

The done parameter is still missing in the egg. In the meanwhile add manually until he fixed it. { "done": "Setting breakpad minidump AppID = 2394010" }

@QuintenQVD0 EpicApp=PalServer -publicip {{SERVER_IP}} -publicport {{SERVER_PORT}}

Thx, the EpicApp param itself wasn't enough, but with publicip and publicport now I can see my server in the community servers list :)

OMG, I've been trying to figure out this "error" for hours...and youre telling me it was working the whole time...