Merge pull request #2671 from Ballaual/palworld-egg

Adding egg for Palworld
This commit is contained in:
Michael (Parker) Parker 2024-01-27 19:33:22 -05:00 committed by GitHub
commit 03780f41dd
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
5 changed files with 217 additions and 0 deletions

View File

@ -286,6 +286,7 @@ If you are reading this it looks like you are looking to add an egg to your serv
* [Onset](game_eggs/steamcmd_servers/onset)
* [Open Fortress](game_eggs/steamcmd_servers/open_fortress)
* [Operation Harsh Doorstop](game_eggs/steamcmd_servers/operation_harsh_doorstop)
* [Palworld](game_eggs/steamcmd_servers/palworld)
* [Pavlov VR](game_eggs/steamcmd_servers/pavlov_vr)
* [PixARK](game_eggs/steamcmd_servers/pixark)
* [Portal Knights](game_eggs/steamcmd_servers/portal_knights)

View File

@ -182,6 +182,7 @@
* [Onset](steamcmd_servers/onset)
* [Open Fortress](steamcmd_servers/open_fortress)
* [Operation Harsh Doorstop](steamcmd_servers/operation_harsh_doorstop)
* [Palworld](steamcmd_servers/palworld)
* [Pavlov VR](steamcmd_servers/pavlov_vr)
* [PixARK](steamcmd_servers/pixark)
* [Portal Knights](steamcmd_servers/portal_knights)

View File

@ -180,6 +180,10 @@ This is a collection of servers that use SteamCMD to install.
[Operation Harsh Doorstop](operation_harsh_doorstop)
## Palworld
[Palworld](palworld)
## Pavlov VR
[Pavlov VR](pavlov_vr)

View File

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

View File

@ -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": "admin@ballaual.de",
"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"
}
]
}