forked from pelican-eggs/eggs
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request pelican-eggs#2671 from Ballaual/palworld-egg
Adding egg for Palworld
- Loading branch information
Showing
5 changed files
with
217 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,105 @@ | ||
# Palworld | ||
|
||
### Steam Description | ||
Fight, farm, build and work alongside mysterious creatures called "Pals" in this completely new multiplayer, open world survival and crafting game! | ||
|
||
### Authors / Contributors | ||
<table> | ||
<tr> | ||
<td align="center"> | ||
<a href="https://github.com/Ballaual"> | ||
<img src="https://avatars.githubusercontent.com/u/38478976" width="50px;" alt=""/><br /><sub><b>Alexander Ballauf</b></sub> | ||
</a> | ||
<br /> | ||
<a href="https://github.com/parkervcp/eggs/issues/2669#issuecomment-1900216079" title="Codes">💻</a> | ||
<a href="https://github.com/parkervcp/eggs/commits?author=Ballaual" title="Maintains">🔨</a> | ||
</td> | ||
<td align="center"> | ||
<a href="https://github.com/QuintenQVD0"> | ||
<img src="https://avatars.githubusercontent.com/u/67589015" width="50px;" alt=""/><br /><sub><b>QuintenQVD0</b></sub> | ||
</a> | ||
<br /> | ||
<a href="https://github.com/parkervcp/eggs/issues/2669#issuecomment-1899999796" title="Codes">💻</a> | ||
<td align="center"> | ||
<a href="https://github.com/hackles"> | ||
<img src="https://avatars.githubusercontent.com/u/30584261" width="50px;" alt=""/><br /><sub><b>heckler</b></sub> | ||
</a> | ||
<br /> | ||
<a href="https://github.com/parkervcp/eggs/issues/2669#issuecomment-1900043987" title="Contributor">💡</a> | ||
</td> | ||
</td> | ||
<td align="center"> | ||
<a href="https://github.com/danny6167"> | ||
<img src="https://avatars.githubusercontent.com/u/388231" width="50px;" alt=""/><br /><sub><b>Daniel Barton</b></sub> | ||
</a> | ||
<br /> | ||
<a href="https://github.com/parkervcp/eggs/issues/2669#issuecomment-1900100992" title="Codes">💻</a> | ||
</td> | ||
<td align="center"> | ||
<a href="https://github.com/Rodhin"> | ||
<img src="https://avatars.githubusercontent.com/u/13395074" width="50px;" alt=""/><br /><sub><b>Rodhin</b></sub> | ||
</a> | ||
<br /> | ||
<a href="https://github.com/parkervcp/eggs/issues/2669#issuecomment-1900153550" title="Codes">💻</a> | ||
</td> | ||
<td align="center"> | ||
<a href="https://github.com/B0rbor4d"> | ||
<img src="https://avatars.githubusercontent.com/u/33213807" width="50px;" alt=""/><br /><sub><b>B0rbor4d</b></sub> | ||
</a> | ||
<br /> | ||
<a href="https://github.com/parkervcp/eggs/issues/2669#issuecomment-1900213758" title="Contributor">💡</a> | ||
</td> | ||
<td align="center"> | ||
<a href="https://github.com/Simsz"> | ||
<img src="https://avatars.githubusercontent.com/u/12779829" width="50px;" alt=""/><br /><sub><b>Zach</b></sub> | ||
</a> | ||
<br /> | ||
<a href="https://github.com/parkervcp/eggs/issues/2669#issuecomment-1899954711" title="Contributor">💡</a> | ||
</td> | ||
</tr> | ||
</table> | ||
|
||
## Known Issues / FAQ | ||
|
||
1) The server won't show up in the Community-Server tab.<br> | ||
-> This is a known problem and the devs will hopefully fix that asap. Best choice is to connect by IP and Password. | ||
|
||
2) The server has a memory leak.<br> | ||
-> This is also an issue that they are aware of.<br> | ||
-> The `bEnableInvaderEnemy` option seems to have a huge impact on the current RAM usage. Disabling it might be choice.<br> | ||
-> Tip: Schedule a server restart every 6h. You might adjust the value according to your system!<br> | ||
|
||
3) The server does not show up in the steam server list.<br> | ||
-> This is currently and might never be supported. | ||
|
||
4) The config file gets deleted / reset on server restart.<br> | ||
-> If your server ports is different than the default port (8211) you need to adjust the port inside the config.<br> | ||
-> Before editing the config file always make sure to fully stop the server first. Otherwise all changes wont be saved. | ||
|
||
## Recommended server settings | ||
|
||
### RAM | ||
|
||
Due to at least one memory leak the server requires about 16-32GB RAM.<br> | ||
Referring to the [official documentation](https://tech.palworldgame.com/dedicated-server-guide) you can start the server with 8GB but you will run out of memory very quickly.<br> | ||
The minimum should be 16GB but 32GB are fairly recommended for now.<br> | ||
|
||
### CPU | ||
|
||
Intel / AMD processor with at least 4 cores. | ||
|
||
### Storage | ||
|
||
As of January 19th 2024 the server requires about 5GB of storage capacity. This might extend with further content/updates. | ||
|
||
## Server Ports | ||
|
||
Note: RCON is disabled by default.<br> | ||
You can enable it inside the cofig (/home/container/Pal/Saved/Config/LinuxServer/PalWorldSettings.ini)<br> | ||
|
||
| Port | Default | | ||
| --------------- | ------- | | ||
| Game | 8211 | | ||
| RCON (optional) | 25575 | | ||
|
||
The ports can be changed. Dont forget to edit your config file... |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,106 @@ | ||
{ | ||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO", | ||
"meta": { | ||
"version": "PTDL_v2", | ||
"update_url": null | ||
}, | ||
"exported_at": "2024-01-27T23:37:16+01:00", | ||
"name": "Palworld", | ||
"author": "[email protected]", | ||
"description": "Fight, farm, build and work alongside mysterious creatures called \"Pals\" in this completely new multiplayer, open world survival and crafting game!", | ||
"features": [ | ||
"steam_disk_space" | ||
], | ||
"docker_images": { | ||
"ghcr.io\/parkervcp\/steamcmd:debian": "ghcr.io\/parkervcp\/steamcmd:debian" | ||
}, | ||
"file_denylist": [ | ||
"PalServer.sh" | ||
], | ||
"startup": "\/home\/container\/Pal\/Binaries\/Linux\/PalServer-Linux-Test Pal EpicApp=PalServer -useperfthreads -NoAsyncLoadingThread -UseMultithreadForDS -publicip={{PUBLIC_IP}} -port={{SERVER_PORT}} -publicport={{SERVER_PORT}} -servername=\"{{SERVER_NAME}}\" -players={{MAX_PLAYERS}} $(if [ -n \"$SERVER_PASSWORD\" ]; then echo \"-serverpassword=\\\"${SERVER_PASSWORD}\\\"\"; fi) -adminpassword=\"{{ADMIN_PASSWORD}}\"", | ||
"config": { | ||
"files": "{}", | ||
"startup": "{\r\n \"done\": \"Setting breakpad minidump AppID = 2394010\"\r\n}", | ||
"logs": "{}", | ||
"stop": "^C" | ||
}, | ||
"scripts": { | ||
"installation": { | ||
"script": "#!\/bin\/bash\r\n# steamcmd Base Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n# Image to install with is 'ghcr.io\/parkervcp\/installers:debian'\r\n\r\n\r\n# Install packages. Default packages below are not required if using our existing install image thus speeding up the install process.\r\n#apt -y update\r\n#apt -y --no-install-recommends install curl lib32gcc-s1 ca-certificates\r\n\r\n## just in case someone removed the defaults.\r\nif [[ \"${STEAM_USER}\" == \"\" ]] || [[ \"${STEAM_PASS}\" == \"\" ]]; then\r\n echo -e \"steam user is not set.\\n\"\r\n echo -e \"Using anonymous user.\\n\"\r\n STEAM_USER=anonymous\r\n STEAM_PASS=\"\"\r\n STEAM_AUTH=\"\"\r\nelse\r\n echo -e \"user set to ${STEAM_USER}\"\r\nfi\r\n\r\n## download and install steamcmd\r\ncd \/tmp\r\nmkdir -p \/mnt\/server\/steamcmd\r\ncurl -sSL -o steamcmd.tar.gz https:\/\/steamcdn-a.akamaihd.net\/client\/installer\/steamcmd_linux.tar.gz\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steamcmd\r\nmkdir -p \/mnt\/server\/steamapps # Fix steamcmd disk write error when this folder is missing\r\ncd \/mnt\/server\/steamcmd\r\n\r\n# SteamCMD fails otherwise for some reason, even running as root.\r\n# This is changed at the end of the install process anyways.\r\nchown -R root:root \/mnt\r\nexport HOME=\/mnt\/server\r\n\r\n## install game using steamcmd\r\n.\/steamcmd.sh +force_install_dir \/mnt\/server +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} $( [[ \"${WINDOWS_INSTALL}\" == \"1\" ]] && printf %s '+@sSteamCmdForcePlatformType windows' ) +app_update ${SRCDS_APPID} $( [[ -z ${SRCDS_BETAID} ]] || printf %s \"-beta ${SRCDS_BETAID}\" ) $( [[ -z ${SRCDS_BETAPASS} ]] || printf %s \"-betapassword ${SRCDS_BETAPASS}\" ) ${INSTALL_FLAGS} validate +quit ## other flags may be needed depending on install. looking at you cs 1.6\r\n\r\n## set up 32 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk32\r\ncp -v linux32\/steamclient.so ..\/.steam\/sdk32\/steamclient.so\r\n\r\n## set up 64 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk64\r\ncp -v linux64\/steamclient.so ..\/.steam\/sdk64\/steamclient.so\r\n\r\n## add below your custom commands if needed\r\n## copy template config file\r\necho \"Copy template config file into config folder!\"\r\n\r\nif [ -f \"\/mnt\/server\/Pal\/Saved\/Config\/LinuxServer\/PalWorldSettings.ini\" ]; then\r\n echo \"Config file already exitis, backing up and overwriting with a new one\"\r\n mv \/mnt\/server\/Pal\/Saved\/Config\/LinuxServer\/PalWorldSettings.ini \/mnt\/server\/Pal\/Saved\/Config\/LinuxServer\/PalWorldSettings_$(date +\"%Y%m%d%H%M%S\").ini\r\n cp \/mnt\/server\/DefaultPalWorldSettings.ini \/mnt\/server\/Pal\/Saved\/Config\/LinuxServer\/PalWorldSettings.ini\r\nelse \r\n echo \"Creating new config file\"\r\n cp \/mnt\/server\/DefaultPalWorldSettings.ini \/mnt\/server\/Pal\/Saved\/Config\/LinuxServer\/PalWorldSettings.ini\r\nfi\r\n\r\n## install end\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"", | ||
"container": "ghcr.io\/parkervcp\/installers:debian", | ||
"entrypoint": "bash" | ||
} | ||
}, | ||
"variables": [ | ||
{ | ||
"name": "App ID", | ||
"description": "Do not edit!", | ||
"env_variable": "SRCDS_APPID", | ||
"default_value": "2394010", | ||
"user_viewable": false, | ||
"user_editable": false, | ||
"rules": "required|string|in:2394010", | ||
"field_type": "text" | ||
}, | ||
{ | ||
"name": "Auto Update", | ||
"description": "Auto update the server on start.", | ||
"env_variable": "AUTO_UPDATE", | ||
"default_value": "1", | ||
"user_viewable": true, | ||
"user_editable": true, | ||
"rules": "required|boolean", | ||
"field_type": "text" | ||
}, | ||
{ | ||
"name": "Max Players", | ||
"description": "", | ||
"env_variable": "MAX_PLAYERS", | ||
"default_value": "32", | ||
"user_viewable": true, | ||
"user_editable": true, | ||
"rules": "required|numeric|between:1,32", | ||
"field_type": "text" | ||
}, | ||
{ | ||
"name": "Server Name", | ||
"description": "", | ||
"env_variable": "SERVER_NAME", | ||
"default_value": "A Pterodactyl hosted Palworld Server", | ||
"user_viewable": true, | ||
"user_editable": true, | ||
"rules": "required|string|max:64", | ||
"field_type": "text" | ||
}, | ||
{ | ||
"name": "Server Password", | ||
"description": "If specified, players must provide this password to join the server.", | ||
"env_variable": "SERVER_PASSWORD", | ||
"default_value": "", | ||
"user_viewable": true, | ||
"user_editable": true, | ||
"rules": "nullable|alpha_dash|between:1,30", | ||
"field_type": "text" | ||
}, | ||
{ | ||
"name": "Admin Password", | ||
"description": "If specified, players must provide this password (via the in-game chat or RCON) to gain access to administrator commands on the server.", | ||
"env_variable": "ADMIN_PASSWORD", | ||
"default_value": "", | ||
"user_viewable": true, | ||
"user_editable": true, | ||
"rules": "required|alpha_dash|between:1,30", | ||
"field_type": "text" | ||
}, | ||
{ | ||
"name": "Public IP", | ||
"description": "Set this to the servers public ip address.", | ||
"env_variable": "PUBLIC_IP", | ||
"default_value": "", | ||
"user_viewable": true, | ||
"user_editable": false, | ||
"rules": "required|string", | ||
"field_type": "text" | ||
} | ||
] | ||
} |