mirror of
https://github.com/parkervcp/eggs.git
synced 2024-11-22 20:42:54 +08:00
Updating Enshrouded Egg - Using Proton instead of Wine (#2693)
* Replacing WINE in favor of PROTON which saw a gigantic performance improvement with Enshrouded Dedicated server. * Updating Egg to Proton, Take 2 * make this come from an internal repo * Use our images * Adding in Settings File Initialization. * Fix server password
This commit is contained in:
parent
aeb68b752d
commit
7b643d2390
@ -18,6 +18,7 @@ Discord: https://discord.gg/enshrouded
|
||||
| ------------- |-------------|-------------|
|
||||
| Vapok | https://github.com/Vapok | https://www.buymeacoffee.com/vapok |
|
||||
| QuintenQVD0 | https://github.com/QuintenQVD0 | |
|
||||
| gOOvER | https://github.com/gOOvER | |
|
||||
|
||||
|
||||
|
||||
|
@ -4,65 +4,45 @@
|
||||
"version": "PTDL_v2",
|
||||
"update_url": null
|
||||
},
|
||||
"exported_at": "2024-01-24T16:49:35+01:00",
|
||||
"exported_at": "2024-01-26T17:20:16+01:00",
|
||||
"name": "Enshrouded",
|
||||
"author": "vapokrocks@gmail.com",
|
||||
"description": "Enshrouded is a survival game currently in beta",
|
||||
"description": "Enshrouded is a game of survival, crafting, and Action RPG combat, set within a sprawling voxel-based continent. As you journey across the mountains and deserts of an open world, you are free to choose your path and shape your destiny. Credit to gOOvER for the help with the proton image which seems to be performing better over the wine egg.",
|
||||
"features": [
|
||||
"steam_disk_space"
|
||||
],
|
||||
"docker_images": {
|
||||
"Wine Latest": "ghcr.io\/parkervcp\/yolks:wine_latest"
|
||||
"ghcr.io\/parkervcp\/steamcmd:proton": "ghcr.io\/parkervcp\/steamcmd:proton"
|
||||
},
|
||||
"file_denylist": [],
|
||||
"startup": "wine .\/enshrouded_server.exe",
|
||||
"startup": "proton run .\/enshrouded_server.exe",
|
||||
"config": {
|
||||
"files": "{\r\n \"enshrouded_server.json\": {\r\n \"parser\": \"json\",\r\n \"find\": {\r\n \"name\": \"{{server.build.env.SERVER_NAME}}\",\r\n \"slotCount\": \"{{server.build.env.SLOT_COUNT}}\",\r\n \"gamePort\": \"{{server.build.default.port}}\",\r\n \"password\": \"{{server.build.env.SERVER_PASSWORD}}\",\r\n \"queryPort\": \"{{server.build.env.QUERY_PORT}}\",\r\n \"ip\": \"0.0.0.0\"\r\n }\r\n }\r\n}",
|
||||
"startup": "{\r\n \"done\": \"HostOnline\"\r\n}",
|
||||
"files": "{\r\n \"enshrouded_server.json\": {\r\n \"parser\": \"json\",\r\n \"find\": {\r\n \"name\": \"{{server.build.env.SRV_NAME}}\",\r\n \"password\": \"{{server.build.env.SRV_PW}}\",\r\n \"slotCount\": \"{{server.build.env.MAX_PLAYERS}}\",\r\n \"gamePort\": \"{{server.build.default.port}}\",\r\n \"queryPort\": \"{{server.build.env.QUERY_PORT}}\"\r\n }\r\n }\r\n}",
|
||||
"startup": "{\r\n \"done\": \"[Session] 'HostOnline' (up)!\"\r\n}",
|
||||
"logs": "{}",
|
||||
"stop": "^C"
|
||||
},
|
||||
"scripts": {
|
||||
"installation": {
|
||||
"script": "#!\/bin\/bash\r\n\r\n## License: MIT License\r\n## Image to install with is 'ghcr.io\/parkervcp\/installers:debian'\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\nFILE=\/mnt\/server\/enshrouded_server.json\r\nif [ -f \"$FILE\" ]; then\r\n echo \"Config already exist skipping\"\r\nelse \r\n echo \"Config does not yet exist, making one\"\r\n cd \/mnt\/server\r\n touch enshrouded_server.json\r\n echo \"{\" >> enshrouded_server.json\r\n echo '\t\"name\": \"Enshrouded Server\",' >> enshrouded_server.json\r\n echo '\t\"password\": \"\",' >> enshrouded_server.json\r\n echo '\t\"saveDirectory\": \".\/savegame\",' >> enshrouded_server.json\r\n echo '\t\"logDirectory\": \".\/logs\",' >> enshrouded_server.json\r\n echo '\t\"ip\": \"0.0.0.0\",' >> enshrouded_server.json\r\n echo '\t\"gamePort\": 15636,' >> enshrouded_server.json\r\n echo '\t\"queryPort\": 15637,' >> enshrouded_server.json\r\n echo '\t\"slotCount\": 16' >> enshrouded_server.json\r\n echo '}' >> enshrouded_server.json\r\nfi\r\n\r\n\r\n## install end\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"",
|
||||
"script": "#!\/bin\/bash\r\n# steamcmd Base Installation Script\r\n#\r\nclear\r\nRED='\\033[0;31m'\r\nGREEN='\\033[0;32m'\r\nYELLOW='\\033[1;33m'\r\nBLUE='\\033[0;34m'\r\nNC='\\033[0m'\r\n\r\necho -e \"${BLUE}-------------------------------------------------${NC}\"\r\necho -e \"${YELLOW}Enshrouded Installscript${NC}\"\r\necho -e \"${YELLOW}Egg by gOOvER | https:\/\/goover.dev${NC}\"\r\necho -e \"${BLUE}-------------------------------------------------${NC}\"\r\n\r\n#apt -y update\r\n#apt -y --no-install-recommends install curl lib32gcc-s1 ca-certificates jq dos2unix\r\n\r\necho -e \"${BLUE}-------------------------------------------------${NC}\"\r\necho -e \"${YELLOW}download and install steamcmd. please wait...${NC}\"\r\necho -e \"${BLUE}-------------------------------------------------${NC}\"\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\necho -e \"${GREEN}..done..${NC}\"\r\n\r\n## install game using steamcmd\r\necho -e \"${BLUE}-------------------------------------------------${NC}\"\r\necho -e \"${YELLOW}install game using steamcmd. please wait...${NC}\"\r\necho -e \"${BLUE}-------------------------------------------------${NC}\"\r\n\r\n.\/steamcmd.sh +force_install_dir \/mnt\/server +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} $( [[ \"${WINDOWS_INSTALL}\" == \"1\" ]] && printf %s '+@sSteamCmdForcePlatformType windows' ) $( [[ \"${STEAM_SDK}\" == \"1\" ]] && printf %s '+app_update 1007' ) +app_update ${SRCDS_APPID} $( [[ -z ${SRCDS_BETAID} ]] || printf %s \"-beta ${SRCDS_BETAID}\" ) $( [[ -z ${SRCDS_BETAPASS} ]] || printf %s \"-betapassword ${SRCDS_BETAPASS}\" ) ${INSTALL_FLAGS} validate +quit\r\necho -e \"${GREEN}..done..${NC}\"\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\r\nFILE=\/mnt\/server\/enshrouded_server.json\r\nif [ -f \"$FILE\" ]; then\r\n echo \"Config already exist skipping\"\r\nelse \r\n echo \"Config does not yet exist, making one\"\r\n cd \/mnt\/server\r\n touch enshrouded_server.json\r\n echo \"{\" >> enshrouded_server.json\r\n echo '\t\"name\": \"Enshrouded Server\",' >> enshrouded_server.json\r\n echo '\t\"password\": \"\",' >> enshrouded_server.json\r\n echo '\t\"saveDirectory\": \".\/savegame\",' >> enshrouded_server.json\r\n echo '\t\"logDirectory\": \".\/logs\",' >> enshrouded_server.json\r\n echo '\t\"ip\": \"0.0.0.0\",' >> enshrouded_server.json\r\n echo '\t\"gamePort\": 15636,' >> enshrouded_server.json\r\n echo '\t\"queryPort\": 15637,' >> enshrouded_server.json\r\n echo '\t\"slotCount\": 16' >> enshrouded_server.json\r\n echo '}' >> enshrouded_server.json\r\nfi\r\n## install end\r\necho -e \"${BLUE}-------------------------------------------------${NC}\"\r\necho -e \"${GREEN}Installation completed...${NC}\"\r\necho -e \"${BLUE}-------------------------------------------------${NC}\"",
|
||||
"container": "ghcr.io\/parkervcp\/installers:debian",
|
||||
"entrypoint": "\/bin\/bash"
|
||||
"entrypoint": "bash"
|
||||
}
|
||||
},
|
||||
"variables": [
|
||||
{
|
||||
"name": "[REQUIRED] Server Query Port",
|
||||
"description": "UDP port for Steam server list features.",
|
||||
"name": "[SERVER] Steam Query Port",
|
||||
"description": "Steam Query Port",
|
||||
"env_variable": "QUERY_PORT",
|
||||
"default_value": "15637",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|numeric|between:1024,65536",
|
||||
"rules": "required|numeric",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "[REQUIRED] Slot Count",
|
||||
"description": "Number of Slots for Players.",
|
||||
"env_variable": "SLOT_COUNT",
|
||||
"default_value": "16",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|numeric|between:1,16",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Server Name",
|
||||
"name": "WINDOWS_INSTALL",
|
||||
"description": "",
|
||||
"env_variable": "SERVER_NAME",
|
||||
"default_value": "Enshrouded Server",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|max:32",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Windows Install Flag",
|
||||
"description": "Required for windows game server installs",
|
||||
"env_variable": "WINDOWS_INSTALL",
|
||||
"default_value": "1",
|
||||
"user_viewable": false,
|
||||
@ -71,18 +51,8 @@
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "WINETRICKS_RUN",
|
||||
"description": "Run installs on software that is required by the server",
|
||||
"env_variable": "WINETRICKS_RUN",
|
||||
"default_value": "vcrun2022",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "required|string|in:vcrun2022",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "SRCDS_APPID",
|
||||
"description": "steam app id found here - https:\/\/developer.valvesoftware.com\/wiki\/Dedicated_Servers_List",
|
||||
"name": "[STEAM] Steam App ID",
|
||||
"description": "Steam App ID",
|
||||
"env_variable": "SRCDS_APPID",
|
||||
"default_value": "2278520",
|
||||
"user_viewable": false,
|
||||
@ -91,43 +61,53 @@
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "WINEDEBUG",
|
||||
"description": "",
|
||||
"env_variable": "WINEDEBUG",
|
||||
"default_value": "-all",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "required|string|max:20",
|
||||
"name": "[SERVER] Auto Update",
|
||||
"description": "Enable automatic updates on boot",
|
||||
"env_variable": "AUTO_UPDATE",
|
||||
"default_value": "1",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|boolean",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "WINEPATH",
|
||||
"description": "",
|
||||
"env_variable": "WINEPATH",
|
||||
"default_value": "\/home\/container",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "required|string|max:20",
|
||||
"name": "[SERVER] Server Name",
|
||||
"description": "Name of the server",
|
||||
"env_variable": "SRV_NAME",
|
||||
"default_value": "My Server",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "WINEARCH",
|
||||
"description": "",
|
||||
"env_variable": "WINEARCH",
|
||||
"default_value": "win64",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "required|string|in:win64",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Server Password",
|
||||
"description": "Password for Server Access",
|
||||
"env_variable": "SERVER_PASSWORD",
|
||||
"name": "[SERVER] Server Password",
|
||||
"description": "Server password",
|
||||
"env_variable": "SRV_PW",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string|max:64",
|
||||
"rules": "nullable|string",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "[SERVER] Max Players",
|
||||
"description": "Maximum number of players allowed",
|
||||
"env_variable": "MAX_PLAYERS",
|
||||
"default_value": "16",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|numeric",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "[SYSTEM] Validate",
|
||||
"description": "Validate the serverfiles through Steam",
|
||||
"env_variable": "VALIDATE",
|
||||
"default_value": "0",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|boolean",
|
||||
"field_type": "text"
|
||||
}
|
||||
]
|
||||
|
10
game_eggs/steamcmd_servers/enshrouded/enshrouded_server.json
Normal file
10
game_eggs/steamcmd_servers/enshrouded/enshrouded_server.json
Normal file
@ -0,0 +1,10 @@
|
||||
{
|
||||
"gamePort": 27015,
|
||||
"ip": "0.0.0.0",
|
||||
"logDirectory": "./logs",
|
||||
"name": "My Server",
|
||||
"password": "",
|
||||
"queryPort": 27016,
|
||||
"saveDirectory": "./savegame",
|
||||
"slotCount": 10
|
||||
}
|
Loading…
Reference in New Issue
Block a user