Skip to content
This repository has been archived by the owner on May 14, 2024. It is now read-only.

Adding egg for Palworld (WIP!) #2671

Merged
merged 14 commits into from
Jan 28, 2024
Merged

Conversation

Ballaual
Copy link
Contributor

Description

This PR is adding the dedicated server egg for Palworld fixing #2669.
Also "hopefully" adding all contributors from the metioned issue for helping out creating and testing this egg.
@QuintenQVD0

Checklist for all submissions

  • Have you followed the guidelines in our Contributing document?
  • Have you checked to ensure there aren't other open Pull Requests for the same update/change?
  • Have you tested and reviewed your changes with confidence that everything works?
  • Did you branch your changes and PR from that branch and not from your master branch?
    • If not, why?:

New egg Submissions

  1. Does your submission pass tests (server is connectable)?
  2. Does your egg use a custom docker image?
    • Have you tried to use a generic image?
    • Did you PR the necessary changes to make it work?
  3. Have you added the egg to the main README.md and any other README files in subdirectories of the egg (e.g /game_eggs) according to the alphabetical order?
  4. Have you added a unique README.md for the egg you are adding according to the alphabetical order?
  5. You verify that the start command applied does not use a shell script
    • If some script is needed then it is part of a current yolk or a PR to add one
  6. The egg was exported from the panel

game_eggs/README.md Outdated Show resolved Hide resolved
Co-Authored-By: Chris Tunbridge <967304+destreyf@users.noreply.github.com>
@parkervcp parkervcp self-requested a review January 19, 2024 15:11
Co-Authored-By: Andy <16029826+kickbut101@users.noreply.github.com>
@HerrSammyDE
Copy link
Contributor

Does the game work so far? Unfortunately, I haven't been able to test it yet.

@wedemmoez
Copy link

wedemmoez commented Jan 19, 2024

Does the game work so far? Unfortunately, I haven't been able to test it yet.

I have it running in my environment, works like a charm! there's some minor hiccups but that is mostly due to the nature of the game and not the server itself.

@danymo1221
Copy link

I have found after some testing (this egg specifically) doesn't seem to work on any proxmox vm ( either kvm or non kvm) or unraid and only works in a lxc container via proxmox (which is of-course not recommended by pterodactyl) or on a bare metal os like debian or ubuntu.

Not sure if this is relevant to this or not?

@HerrSammyDE
Copy link
Contributor

I have found after some testing (this egg specifically) doesn't seem to work on any proxmox vm ( either kvm or non kvm) or unraid and only works in a lxc container via proxmox (which is of-course not recommended by pterodactyl) or on a bare metal os like debian or ubuntu.

Not sure if this is relevant to this or not?

I have just tested the Egg and it starts without any problems.
We virtualize via Proxmox with KVM and it runs without any problems.

--
Thanks for the work guys!

@danymo1221
Copy link

I have found after some testing (this egg specifically) doesn't seem to work on any proxmox vm ( either kvm or non kvm) or unraid and only works in a lxc container via proxmox (which is of-course not recommended by pterodactyl) or on a bare metal os like debian or ubuntu.
Not sure if this is relevant to this or not?

I have just tested the Egg and it starts without any problems. We virtualize via Proxmox with KVM and it runs without any problems.

-- Thanks for the work guys!

Hmm strange @QuintenQVD0 said it wouldn't.
https://gist.github.com/QuintenQVD0/8d7af6f08d716872ee609e9a203d696a?permalink_comment_id=4839855#gistcomment-4839855

Unless it's fixed.

@Destreyf
Copy link
Contributor

@danymo1221 I don't see any reason why it wouldn't work on proxmox, the issue may actually be with lxc containers, proxmox itself doesn't do docker on the host machine, and that is known to have quirks with proxmox/kvm in some instances, but it should work just fine running on any system that has a proper docker/wings install.

@Ballaual
Copy link
Contributor Author

Ballaual commented Jan 19, 2024

actually another issue i ran into is that the server takes a huge amount of RAM after a while.
currently after running for about 4h with 6 players on its on 16GB..... also cpu load is permanent about 100% in spikes up to 200% dont know if thats egg / their file or maybe a missconfiguration on my side related.. does anyone else have same problem?

@mattman107
Copy link
Contributor

actually another issue i ran into is that the server takes a huge amount of RAM after a while. currently after running for about 4h with 6 players on its on 16GB..... also cpu load is permanent about 100% in spikes up to 200% dont know if thats egg / their file or maybe a missconfiguration on my side related.. does anyone else have same problem?

I can see that the server is slowly using more ram as time goes on. Even when no one is on the server. Over the past 2 hours with no one in the server it has slowly crept from 4GB to 4.5GB

@Simsz
Copy link

Simsz commented Jan 20, 2024

actually another issue i ran into is that the server takes a huge amount of RAM after a while. currently after running for about 4h with 6 players on its on 16GB..... also cpu load is permanent about 100% in spikes up to 200% don't know if that's egg / their file or maybe a misconfiguration on my side related.. does anyone else have same problem?

Yes... I'm not sure if its a memory leak from within the game itself or a configuration problem. It starts out relatively small even with 10-12 people online and after about 7-8 hours I'm at 15gb and after a few more hours I am at 20gb with the same number of players as before. My current solution is just restarting server every 12 hours in the hopes that it doesn't break before then but I've already had one "out of memory" crash when I had a hard limit set at 8gb's.

EDIT: Not that it means much but this person is running a dedicated windows 2019 server and the provided software without virtualization and hasn't crossed 8gb's in over 24 hours:

XANKmU

More than a few other people running PalWorld servers have confirmed the same, memory bloats over time (within a docker container) and ones running the server with just the provided GUI/SteamCMD aren't experiencing the same bloat. Not sure how to figure out the root cause beyond this.

@QuintenQVD0
Copy link
Collaborator

@Ballaual I pushed some changed to this pr:

  • add the steamcmd feature
  • right validation for max players
  • force the admin to self set the admin password
  • remove the default value from the admin password
  • Do not append -serverpassword= if no password is set for the users
  • On reinstall the config will not just be overwritten but first backed up and then the new one is coppyed in placed
  • removed an extra space before the -port
  • removed an extra space before the EpicApp

Please or anyone else here test those latest changed (most important the password logic)

@Kickbut101
Copy link
Contributor

@Ballaual I pushed some changed to this pr:

* add the steamcmd feature

* right validation for max players

* force the admin to self set the admin password

* remove the default value from the admin password

* Do not append -serverpassword= if no password is set for the users

* On reinstall the config will not just be overwritten but first backed up and then the new one is coppyed in placed

* removed an extra space before the -port

* removed an extra space before the EpicApp

Please or anyone else here test those latest changed (most important the password logic)

I believe you touched on this, but this is safe to use if we already have an existing server and setup? We won't lose our config?

@Ballaual
Copy link
Contributor Author

Please or anyone else here test those latest changed (most important the password logic)

just woke up. will test it in a few minutes!

believe you touched on this, but this is safe to use if we already have an existing server and setup? We won't lose our config?

backup your Saved/SaveGames should be fine

@QuintenQVD0
Copy link
Collaborator

@Ballaual I pushed some changed to this pr:

* add the steamcmd feature

* right validation for max players

* force the admin to self set the admin password

* remove the default value from the admin password

* Do not append -serverpassword= if no password is set for the users

* On reinstall the config will not just be overwritten but first backed up and then the new one is coppyed in placed

* removed an extra space before the -port

* removed an extra space before the EpicApp

Please or anyone else here test those latest changed (most important the password logic)

I believe you touched on this, but this is safe to use if we already have an existing server and setup? We won't lose our config?

It should not brake anything, and the startup change wont even apply to already made servers.

Keep in mind that the update from the game itself broke some savegames

@QuintenQVD0
Copy link
Collaborator

Please or anyone else here test those latest changed (most important the password logic)

just woke up. will test it in a few minutes!

believe you touched on this, but this is safe to use if we already have an existing server and setup? We won't lose our config?

backup your Saved/SaveGames should be fine

So if you test this please make a new server or update the startup of an already made one.

@Ballaual
Copy link
Contributor Author

Ballaual commented Jan 20, 2024

  • force the admin to self set the admin password

works

  • remove the default value from the admin password

works

  • Do not append -serverpassword= if no password is set for the users

does not work as intended
enter no pw = not asked to enter a pw
enter a pw = asked to enter a pw but says they do not match

without pw
:/home/container$ /home/container/Pal/Binaries/Linux/PalServer-Linux-Test Pal -port=${SERVER_PORT} -players=${MAX_PLAYERS} -useperfthreads -NoAsyncLoadingThread -UseMultithreadForDS -publicip ${SERVER_IP} -publicport ${SERVER_PORT} EpicApp=PalServer -servername="${SRV_NAME}" $(if [ -n "$SRV_PASSWORD" ]; then echo "-serverpassword=\"${SRV_PASSWORD}\""; fi) -adminpassword="${ADMIN_PASSWORD}"

with pw
:/home/container$ /home/container/Pal/Binaries/Linux/PalServer-Linux-Test Pal -port=${SERVER_PORT} -players=${MAX_PLAYERS} -useperfthreads -NoAsyncLoadingThread -UseMultithreadForDS -publicip ${SERVER_IP} -publicport ${SERVER_PORT} EpicApp=PalServer -servername="${SRV_NAME}" $(if [ -n "$SRV_PASSWORD" ]; then echo "-serverpassword=\"${SRV_PASSWORD}\""; fi) -adminpassword="${ADMIN_PASSWORD}"

edit:
should't be the startup line sth like this?

/home/container/Pal/Binaries/Linux/PalServer-Linux-Test Pal -port={{SERVER_PORT}} -players={{MAX_PLAYERS}} -useperfthreads -NoAsyncLoadingThread -UseMultithreadForDS -publicip {{SERVER_IP}} -publicport {{SERVER_PORT}} EpicApp=PalServer -servername="{{SRV_NAME}}" $(if [ -n "$SRV_PASSWORD" ]; then echo "-serverpassword="{{SRV_PASSWORD}}""; fi) -adminpassword="{{ADMIN_PASSWORD}}"

@QuintenQVD0
Copy link
Collaborator

  • force the admin to self set the admin password

works

  • remove the default value from the admin password

works

  • Do not append -serverpassword= if no password is set for the users

does not work as intended enter no pw = not asked to enter a pw enter a pw = asked to enter a pw but says they do not match

without pw :/home/container$ /home/container/Pal/Binaries/Linux/PalServer-Linux-Test Pal -port=${SERVER_PORT} -players=${MAX_PLAYERS} -useperfthreads -NoAsyncLoadingThread -UseMultithreadForDS -publicip ${SERVER_IP} -publicport ${SERVER_PORT} EpicApp=PalServer -servername="${SRV_NAME}" $(if [ -n "$SRV_PASSWORD" ]; then echo "-serverpassword=\"${SRV_PASSWORD}\""; fi) -adminpassword="${ADMIN_PASSWORD}"

with pw :/home/container$ /home/container/Pal/Binaries/Linux/PalServer-Linux-Test Pal -port=${SERVER_PORT} -players=${MAX_PLAYERS} -useperfthreads -NoAsyncLoadingThread -UseMultithreadForDS -publicip ${SERVER_IP} -publicport ${SERVER_PORT} EpicApp=PalServer -servername="${SRV_NAME}" $(if [ -n "$SRV_PASSWORD" ]; then echo "-serverpassword=\"${SRV_PASSWORD}\""; fi) -adminpassword="${ADMIN_PASSWORD}"

edit: should't be the startup line sth like this?

/home/container/Pal/Binaries/Linux/PalServer-Linux-Test Pal -port={{SERVER_PORT}} -players={{MAX_PLAYERS}} -useperfthreads -NoAsyncLoadingThread -UseMultithreadForDS -publicip {{SERVER_IP}} -publicport {{SERVER_PORT}} EpicApp=PalServer -servername="{{SRV_NAME}}" $(if [ -n "$SRV_PASSWORD" ]; then echo "-serverpassword="{{SRV_PASSWORD}}""; fi) -adminpassword="{{ADMIN_PASSWORD}}"

No you have to escape the "" arround the password else they terminate the ones around the echo and you get a fault

@QuintenQVD0
Copy link
Collaborator

  • force the admin to self set the admin password

works

  • remove the default value from the admin password

works

  • Do not append -serverpassword= if no password is set for the users

does not work as intended enter no pw = not asked to enter a pw enter a pw = asked to enter a pw but says they do not match

without pw :/home/container$ /home/container/Pal/Binaries/Linux/PalServer-Linux-Test Pal -port=${SERVER_PORT} -players=${MAX_PLAYERS} -useperfthreads -NoAsyncLoadingThread -UseMultithreadForDS -publicip ${SERVER_IP} -publicport ${SERVER_PORT} EpicApp=PalServer -servername="${SRV_NAME}" $(if [ -n "$SRV_PASSWORD" ]; then echo "-serverpassword=\"${SRV_PASSWORD}\""; fi) -adminpassword="${ADMIN_PASSWORD}"

with pw :/home/container$ /home/container/Pal/Binaries/Linux/PalServer-Linux-Test Pal -port=${SERVER_PORT} -players=${MAX_PLAYERS} -useperfthreads -NoAsyncLoadingThread -UseMultithreadForDS -publicip ${SERVER_IP} -publicport ${SERVER_PORT} EpicApp=PalServer -servername="${SRV_NAME}" $(if [ -n "$SRV_PASSWORD" ]; then echo "-serverpassword=\"${SRV_PASSWORD}\""; fi) -adminpassword="${ADMIN_PASSWORD}"

edit: should't be the startup line sth like this?

/home/container/Pal/Binaries/Linux/PalServer-Linux-Test Pal -port={{SERVER_PORT}} -players={{MAX_PLAYERS}} -useperfthreads -NoAsyncLoadingThread -UseMultithreadForDS -publicip {{SERVER_IP}} -publicport {{SERVER_PORT}} EpicApp=PalServer -servername="{{SRV_NAME}}" $(if [ -n "$SRV_PASSWORD" ]; then echo "-serverpassword="{{SRV_PASSWORD}}""; fi) -adminpassword="{{ADMIN_PASSWORD}}"

I just reverted the startup, should be fine.
Somethine else I saw someone add -Unatended does it improve / add more logging to something?

@Ballaual
Copy link
Contributor Author

Ballaual commented Jan 20, 2024

Somethine else I saw someone add -Unatended does it improve / add more logging to something?

will test it out!

btw.. they just did updated their docs requiring min RAM of 16GB better 32GB.....

@tryallthethings
Copy link

RAM consumption still seems off the charts after the patch. Is it already possible to send broadcast messages through schedules? Couldn't get it to work so far.

@smbonn2005
Copy link

RAM consumption still seems off the charts after the patch. Is it already possible to send broadcast messages through schedules? Couldn't get it to work so far.

Would need to get RCON working before we are able to do that, but afterwards should be possible yes.

@Ballaual
Copy link
Contributor Author

Ballaual commented Jan 25, 2024

will implement RCON tomorow, so you will be able to send rcon through the panel.

RAM consumption still seems off the charts after the patch. Is it already possible to send broadcast messages through schedules? Couldn't get it to work so far.

@Ballaual
Copy link
Contributor Author

Ballaual commented Jan 26, 2024

will implement RCON tomorow, so you will be able to send rcon through the panel.

RAM consumption still seems off the charts after the patch. Is it already possible to send broadcast messages through schedules? Couldn't get it to work so far.

i tested a bit around with rcon but unfortunately it is not possible to enable rcon via startcommand or i did not found a proper solution for that.. same for the rconport...

one but for sure not the best solution could be to upload a template config file to the repo that has rcon enabled by default and to make sure the server does not delete the config also clear out the port from it. then you will be able to start the server with rcon connection and send rcon through the console. problem is that rconport can not be set by startup.. everything we try is a heavy mess by the devs.. hooooly..

targeting the memory problem there are currently two known options to disable -> bEnableInvaderEnemy bEnableNonLoginPenalty

Ballaual and others added 2 commits January 26, 2024 13:01
since version 0.1.3.0 you are able to join a password protected server by ip adress. i've tested this feature and it works as intended.

Co-Authored-By: Quinten  <67589015+QuintenQVD0@users.noreply.github.com>
@parkervcp
Copy link
Collaborator

All I ask if you want to change the value for bEnableInvaderEnemy or bEnableNonLoginPenalty make it configurable and default to the default from the devs.

No values we ship should be different from the defaults.

@Ballaual
Copy link
Contributor Author

All I ask if you want to change the value for bEnableInvaderEnemy or bEnableNonLoginPenalty make it configurable and default to the default from the devs.

No values we ship should be different from the defaults.

Totally aggree!
I'll give it a try if these options might be configurable by the startparams but i dont think so.
With this config you cant do anything like toggle settings as it usually should be.

@Toakan
Copy link

Toakan commented Jan 26, 2024

@Ballaual can you use something like this, in the install script, to copy the variables to the config?


config_location=/mnt/server/Pal/Saved/Config/LinuxServer
if [ -f "$config_location/PalWorldSettings.ini" ]; then
    echo "Config file already exitis, backing up and overwriting with a new one"
    mv $config_location/PalWorldSettings.ini $config_location/PalWorldSettings_$(date +"%Y%m%d%H%M%S").ini
    cp /mnt/server/DefaultPalWorldSettings.ini $config_location/PalWorldSettings.ini
else 
    echo "Creating new config file"
    cp /mnt/server/DefaultPalWorldSettings.ini $config_location/PalWorldSettings.ini
fi

echo "Updating Config with new variables"
sed -i 's/ServerPassword=""/ServerPassword="'${SRV_PASSWORD}'"/g' $config_location/PalWorldSettings.ini
echo "Config Updated"

Edit to reflect what the install script is trying to do

@Toakan
Copy link

Toakan commented Jan 26, 2024

Ok better way to do this. You have to sed replace the old variables with the new stuff, you can pipe it in through the startup params.

I've added my own SRV_RCONENABLE && SRV_RCONPORT, but this is working and passing the values through BEFORE the game starts, so they're always correct on startup.

New startup Command line

sed -i 's/\(ServerPassword=\)"\([^"]*\)"/\1"'${SRV_PASSWORD}'"/' /home/container/Pal/Saved/Config/LinuxServer/PalWorldSettings.ini && 
sed -i 's/\(RCONEnabled=\)\"*\([^",]*\)\"*,/\1'"${SRV_RCONENABLE}"',/' /home/container/Pal/Saved/Config/LinuxServer/PalWorldSettings.ini && 
sed -i 's/\(RCONPort=\)\"*\([^",]*\)\"*,/\1'"${SRV_RCONPORT}"',/' /home/container/Pal/Saved/Config/LinuxServer/PalWorldSettings.ini && 

/home/container/Pal/Binaries/Linux/PalServer-Linux-Test Pal -port={{SERVER_PORT}} -players={{MAX_PLAYERS}} -useperfthreads -NoAsyncLoadingThread -UseMultithreadForDS -publicport={{SERVER_PORT}} -servername="{{SRV_NAME}}" -serverpassword="{{SRV_PASSWORD}}" -adminpassword="{{ADMIN_PASSWORD}}"

@Ballaual @parkervcp is this an acceptable solution?

@Ballaual
Copy link
Contributor Author

Ballaual commented Jan 26, 2024

Ok better way to do this. You have to sed replace the old variables with the new stuff, you can pipe it in through the startup params.

I've added my own SRV_RCONENABLE && SRV_RCONPORT, but this is working and passing the values through BEFORE the game starts, so they're always correct on startup.

New startup Command line

sed -i 's/\(ServerPassword=\)"\([^"]*\)"/\1"'${SRV_PASSWORD}'"/' /home/container/Pal/Saved/Config/LinuxServer/PalWorldSettings.ini && 
sed -i 's/\(RCONEnabled=\)\"*\([^",]*\)\"*,/\1'"${SRV_RCONENABLE}"',/' /home/container/Pal/Saved/Config/LinuxServer/PalWorldSettings.ini && 
sed -i 's/\(RCONPort=\)\"*\([^",]*\)\"*,/\1'"${SRV_RCONPORT}"',/' /home/container/Pal/Saved/Config/LinuxServer/PalWorldSettings.ini && 

/home/container/Pal/Binaries/Linux/PalServer-Linux-Test Pal -port={{SERVER_PORT}} -players={{MAX_PLAYERS}} -useperfthreads -NoAsyncLoadingThread -UseMultithreadForDS -publicport={{SERVER_PORT}} -servername="{{SRV_NAME}}" -serverpassword="{{SRV_PASSWORD}}" -adminpassword="{{ADMIN_PASSWORD}}"

@Ballaual @parkervcp is this an acceptable solution?

working well! if this will be approved i will/would also add the following

  • insert correct server port
  • create variables and implement them regarding the memory leak issues with the two known options causing them
  • remove the password line as password is working fine with -serverpassword startup

and then we should finnaly be finished for the current state of the game 🚀

@parkervcp
Copy link
Collaborator

I would rather avoid adding sed to the startup. Is there no way to have the file manager update those.

@Weatwagon
Copy link
Contributor

Can you move the sed commands to the installer script to get the initial config file created?

@QuintenQVD0
Copy link
Collaborator

Can you move the sed commands to the installer script to get the initial config file created?

you can but then they only happen on first install or reinstall.

@Ballaual
Copy link
Contributor Author

Can you move the sed commands to the installer script to get the initial config file created?

you can but then they only happen on first install or reinstall.

however it did not worked when reinstalling.
this would be the only solution so far which is dealing with the config file and makes it possible to adjust the setting easily from the interface without need to make changes to the config itself.

@Ballaual
Copy link
Contributor Author

I would rather avoid adding sed to the startup. Is there no way to have the file manager update those.

the configuration file is not a valid .ini containing each line a single variable=value instead its just a single variable containing a stting of options separated by "," inside it. i do not know how the file manager can handle this format. also i dont think that they will patch this config file in the near feature because it is running fine (more & less)

Co-Authored-By: Nico Bleiler <nico@bleiler.dev>
@nehalist
Copy link

I'd highly recommend adding query port to variables. CS2 uses 27015 by default - which is the same as the default query port.

@Weatwagon
Copy link
Contributor

I would rather avoid adding sed to the startup. Is there no way to have the file manager update those.

the configuration file is not a valid .ini containing each line a single variable=value instead its just a single variable containing a stting of options separated by "," inside it. i do not know how the file manager can handle this format. also i dont think that they will patch this config file in the near feature because it is running fine (more & less)

How extensible is the configuration file manager? Can a custom file parser be made?

@parkervcp
Copy link
Collaborator

@Ballaual I am at the point where this egg is working fine and any further updates can be a new PR to make those changes.

Copy link
Collaborator

@parkervcp parkervcp left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM. I have been running this for a week.

@parkervcp parkervcp merged commit 03780f4 into pelican-eggs:master Jan 28, 2024
@pedrotski
Copy link
Contributor

pedrotski commented Jan 28, 2024

Not sure who tested this, but configs are not created until the server first starts. The installation script tries to copy the defaultpalworld config to a folder that doesn't exist yet. You can't create this folder either as it's overwritten as soon as the server is started.

Also why is public IP on a variable rather than using SERVER_IP?

@QuintenQVD0
Copy link
Collaborator

Not sure who tested this, but configs are not created until the server first starts. The installation script tries to copy the defaultpalworld config to a folder that doesn't exist yet. You can't create this folder either as it's overwritten as soon as the server is started.

Also why is public IP on a variable rather than using SERVER_IP?

Because if the allocation is a local ip then you can not join the server.

@pedrotski
Copy link
Contributor

Why would an egg be catered towards a non-standard setup as default? This is something they should modify themselves.

@Weatwagon
Copy link
Contributor

Weatwagon commented Jan 28, 2024

Not sure who tested this, but configs are not created until the server first starts. The installation script tries to copy the defaultpalworld config to a folder that doesn't exist yet. You can't create this folder either as it's overwritten as soon as the server is started.

Also why is public IP on a variable rather than using SERVER_IP?

I modified my install script before the settings copy to pre-create the path for first run.

if [ ! -d "/mnt/server/Pal/Saved/Config/LinuxServer" ]; then
    echo "/mnt/server/Pal/Saved/Config/LinuxServer does not exist. Running mkdir to create config file path."
    mkdir -p /mnt/server/Pal/Saved/Config/LinuxServer
fi

but if you are using a port other than 8211 Pal will wipe it out any way so you have to add the changes to the file before it starts

# add variable values to config file
sed -i 's/\(RCONEnabled=\)\"*\([^",]*\)\"*,/\1'"${SERVER_RCONENABLE}"',/' /mnt/server/Pal/Saved/Config/LinuxServer/PalWorldSettings.ini && 
sed -i 's/\(RCONPort=\)\"*\([^",]*\)\"*,/\1'"${SERVER_RCONPORT}"',/' /mnt/server/Pal/Saved/Config/LinuxServer/PalWorldSettings.ini && 
sed -i 's/\(PublicPort=\)\"*\([^",]*\)\"*,/\1'"${SERVER_PORT}"',/' /mnt/server/Pal/Saved/Config/LinuxServer/PalWorldSettings.ini && 
sed -i 's/\(PublicIP=\)"\([^"]*\)"/\1"'${PUBLIC_IP}'"/' /mnt/server/Pal/Saved/Config/LinuxServer/PalWorldSettings.ini &&

@Ballaual
Copy link
Contributor Author

guys.. its a closed pr. if you have any problems related the current version open up a new issue or pr with desired changes, ty.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[Egg Request]: Palworld