From 60abe76d556a92f81d0abc78d4a3e51ff0a21ae3 Mon Sep 17 00:00:00 2001 From: Gorian <1012176+Gorian@users.noreply.github.com> Date: Mon, 15 Nov 2021 13:39:20 -0800 Subject: [PATCH 01/12] Create README.md --- software/5e-tools/README.md | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 software/5e-tools/README.md diff --git a/software/5e-tools/README.md b/software/5e-tools/README.md new file mode 100644 index 00000000..b8ffb15b --- /dev/null +++ b/software/5e-tools/README.md @@ -0,0 +1,4 @@ +# 5e Tools +> A suite of tools for 5th Edition Dungeons & Dragons players and Dungeon Masters. + +This is a self-hosted mirror of https://5e.tools. It will clone a github repository mirror on install and update on container reboot. From 563b828958492515df1f5af577fab2d36e5e932a Mon Sep 17 00:00:00 2001 From: Gorian <1012176+Gorian@users.noreply.github.com> Date: Mon, 15 Nov 2021 13:40:02 -0800 Subject: [PATCH 02/12] Create egg-5e-tools.json --- software/5e-tools/egg-5e-tools.json | 41 +++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 software/5e-tools/egg-5e-tools.json diff --git a/software/5e-tools/egg-5e-tools.json b/software/5e-tools/egg-5e-tools.json new file mode 100644 index 00000000..7643cad4 --- /dev/null +++ b/software/5e-tools/egg-5e-tools.json @@ -0,0 +1,41 @@ +{ + "_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO", + "meta": { + "version": "PTDL_v1", + "update_url": null + }, + "exported_at": "2021-11-15T13:39:55-08:00", + "name": "5e Tools", + "author": "pterodactyl@demi.cloud", + "description": "A suite of tools for 5th Edition Dungeons & Dragons players and Dungeon Masters.", + "features": null, + "images": [ + "ghcr.io\/parkervcp\/yolks:debian" + ], + "file_denylist": [], + "startup": "cd ~\/5e-tools && git pull && cd && .\/caddy run -config ~\/caddy.json", + "config": { + "files": "{\r\n \"caddy.json\": {\r\n \"parser\": \"json\",\r\n \"find\": {\r\n \"apps.http.servers.srv0.listen.0\": \":{{server.build.default.port}}\"\r\n }\r\n }\r\n}", + "startup": "{\r\n \"done\": \"serving initial configuration\",\r\n \"userInteraction\": []\r\n}", + "logs": "{}", + "stop": "^C" + }, + "scripts": { + "installation": { + "script": "#!\/bin\/bash\r\n# 5e Tools install script\r\n#\r\n# Server Files: \/mnt\/server\r\ndeclare -r DIR=\"\/mnt\/server\"\r\ndeclare -r CADDY_INSTALL_URL=\"https:\/\/caddyserver.com\/api\/download?os=linux&arch=amd64&idempotency=41554620449867\"\r\ndeclare -r LOCAL_REPO=\"${DIR}\/5e-tools\"\r\n\r\ndie() {\r\n local message=\"$1\"\r\n printf \"\\n%s\\n\" \"${message}\"\r\n exit 2\r\n}\r\ncd_error() {\r\n die \"ERROR: installation encountered an error while trying to change directory\"\r\n}\r\n\r\nmain() {\r\n local git_origin\r\n apt update\r\n apt install -y wget\r\n cd \"${DIR}\" || cd_error\r\n printf \"\\nInstalling Caddy...\\n\"\r\n wget \"${CADDY_INSTALL_URL}\" -O .\/caddy\r\n chmod +x .\/caddy\r\n printf \"\\nGenerating Caddy configuration...\\n\"\r\n # this is a default config\r\n # key variables, such as the port, will get overwritten with the pterodactyl\r\n # configuration parser\r\n cat <\"${DIR}\/caddy.json\"\r\n{\r\n \"apps\": {\r\n \"http\": {\r\n \"servers\": {\r\n \"srv0\": {\r\n \"listen\": [\r\n \":8080\"\r\n ],\r\n \"routes\": [\r\n {\r\n \"handle\": [\r\n {\r\n \"handler\": \"vars\",\r\n \"root\": \"\/home\/container\/5e-tools\"\r\n },\r\n {\r\n \"encodings\": {\r\n \"gzip\": {},\r\n \"zstd\": {}\r\n },\r\n \"handler\": \"encode\",\r\n \"prefer\": [\r\n \"zstd\",\r\n \"gzip\"\r\n ]\r\n },\r\n {\r\n \"handler\": \"file_server\"\r\n }\r\n ]\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n }\r\n}\r\nEOF\r\n git config --global pull.ff only\r\n if [[ ! -d \"${LOCAL_REPO}\" ]]; then\r\n printf \"\\nCloning latest version (this may take a while)...\\n\"\r\n # $REPOSITORY is passed via environment variable from pterodactyl\r\n git clone \"${REPOSITORY}\" \"${LOCAL_REPO}\"\r\n else\r\n cd \"${LOCAL_REPO}\" || cd_error\r\n git_origin=\"$(git config --get remote.origin.url)\"\r\n cd \"${DIR}\" || cd_error\r\n printf \"\\n\\ngit origin is %s\\n\\n\" \"${git_origin}\"\r\n # if the user hasn't change the repository variable\r\n if [[ \"${git_origin}\" == \"${REPOSITORY}\" ]]; then\r\n cd \"${LOCAL_REPO}\" || cd_error\r\n printf \"\\nRepository already installed - updating...\\n\"\r\n git fetch --all\r\n git reset --hard origin\/master\r\n git pull\r\n cd \"${DIR}\" || cd_error\r\n else\r\n printf \"\\nRepository variable changed since last update\\n...\\n\"\r\n rm -rf \"${LOCAL_REPO}\"\r\n git clone \"${REPOSITORY}\" \"${LOCAL_REPO}\"\r\n fi\r\n fi\r\n printf \"\\nInstallation Complete\\n\"\r\n}\r\nmain \"@\"", + "container": "ghcr.io\/pterodactyl\/installers:debian", + "entrypoint": "bash" + } + }, + "variables": [ + { + "name": "5e Tools Repository", + "description": "Git Repository to use for cloning 5e Tools", + "env_variable": "REPOSITORY", + "default_value": "https:\/\/github.com\/5etools-mirror-1\/5etools-mirror-1.github.io", + "user_viewable": false, + "user_editable": false, + "rules": "required|url" + } + ] +} From dcf1db3c5596c5ec82d730e32077b4bda2e02104 Mon Sep 17 00:00:00 2001 From: Gorian <1012176+Gorian@users.noreply.github.com> Date: Mon, 15 Nov 2021 13:41:19 -0800 Subject: [PATCH 03/12] Update README.md --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 302c1ad3..248a7d2f 100644 --- a/README.md +++ b/README.md @@ -257,3 +257,5 @@ If you are reading this it looks like you are looking to add an egg to your serv * [haste-server](/software/haste-server) ### RabbitMQ * [rabbitmq](/software/rabbitmq) +### 5e Tools +* [5e Tools](/software/5e-tools) From 716cebb6106190c6db592b3df573031a80fef0d8 Mon Sep 17 00:00:00 2001 From: permanently <7469056+Permanently@users.noreply.github.com> Date: Sat, 2 Apr 2022 20:08:31 +0100 Subject: [PATCH 04/12] Removed 'auth' flag Running with the auth flag would give this error: https://paste.md-5.net/imekiqocih.nginx That is all I have to add. Enjoy :p --- database/nosql/mongodb/egg-mongo-d-b.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/database/nosql/mongodb/egg-mongo-d-b.json b/database/nosql/mongodb/egg-mongo-d-b.json index 45257138..311f157b 100644 --- a/database/nosql/mongodb/egg-mongo-d-b.json +++ b/database/nosql/mongodb/egg-mongo-d-b.json @@ -8,7 +8,7 @@ "author": "parker@parkervcp.com", "description": "MongoDB is a general purpose, document-based, distributed database built for modern application developers and for my butt era.", "image": "quay.io\/parkervcp\/pterodactyl-images:db_mongo-4", - "startup": "mongod --fork --dbpath \/home\/container\/mongodb\/ --port ${SERVER_PORT} --bind_ip 0.0.0.0 --logpath \/home\/container\/logs\/mongo.log -f \/home\/container\/mongod.conf; until nc -z -v -w5 127.0.0.1 ${SERVER_PORT}; do echo 'Waiting for mongodb connection...'; sleep 5; done && mongo --username ${MONGO_USER} --auth --password ${MONGO_USER_PASS} --host 127.0.0.1:${SERVER_PORT} && mongo --eval \"db.getSiblingDB('admin').shutdownServer()\" 127.0.0.1:${SERVER_PORT}", + "startup": "mongod --fork --dbpath \/home\/container\/mongodb\/ --port ${SERVER_PORT} --bind_ip 0.0.0.0 --logpath \/home\/container\/logs\/mongo.log -f \/home\/container\/mongod.conf; until nc -z -v -w5 127.0.0.1 ${SERVER_PORT}; do echo 'Waiting for mongodb connection...'; sleep 5; done && mongo --username ${MONGO_USER} --password ${MONGO_USER_PASS} --host 127.0.0.1:${SERVER_PORT} && mongo --eval \"db.getSiblingDB('admin').shutdownServer()\" 127.0.0.1:${SERVER_PORT}", "config": { "files": "{}", "startup": "{\r\n \"done\": \"child process started successfully\"\r\n}", From effed6d573260e133a970e5cef6d054b4a5a9515 Mon Sep 17 00:00:00 2001 From: Torsten Widmann Date: Mon, 18 Apr 2022 15:37:14 +0200 Subject: [PATCH 05/12] Fix Image for ARM64 --- voice_servers/lavalink/egg-lavalink.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/voice_servers/lavalink/egg-lavalink.json b/voice_servers/lavalink/egg-lavalink.json index 29b3a673..77b2effa 100644 --- a/voice_servers/lavalink/egg-lavalink.json +++ b/voice_servers/lavalink/egg-lavalink.json @@ -10,7 +10,7 @@ "description": "Standalone audio sending node based on Lavaplayer and JDA-Audio. Allows for sending audio without it ever reaching any of your shards.\r\nDescription taken from https:\/\/github.com\/Frederikam\/Lavalink", "features": null, "images": [ - "quay.io\/parkervcp\/pterodactyl-images:debian_openjdk-13" + "ghcr.io/parkervcp/yolks:java_11" ], "file_denylist": [], "startup": "java -jar Lavalink.jar", @@ -28,4 +28,4 @@ } }, "variables": [] -} \ No newline at end of file +} From c69183d5b0ab92f7fb01183d12e203fe4809a7dc Mon Sep 17 00:00:00 2001 From: Torsten Widmann Date: Mon, 18 Apr 2022 15:43:50 +0200 Subject: [PATCH 06/12] Update egg-lavalink.json --- voice_servers/lavalink/egg-lavalink.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/voice_servers/lavalink/egg-lavalink.json b/voice_servers/lavalink/egg-lavalink.json index 77b2effa..5fee7eba 100644 --- a/voice_servers/lavalink/egg-lavalink.json +++ b/voice_servers/lavalink/egg-lavalink.json @@ -23,7 +23,7 @@ "scripts": { "installation": { "script": "#!\/bin\/bash\r\n# NodeJS Bot Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napt update\r\napt install -y git curl\r\n\r\nmkdir -p \/mnt\/server\r\ncd \/mnt\/server\r\n\r\ncurl -L -o Lavalink.jar https:\/\/github.com\/freyacodes\/Lavalink\/releases\/latest\/download\/Lavalink.jar\r\n\r\ncurl -L -o application.yml https:\/\/raw.githubusercontent.com\/freyacodes\/Lavalink\/master\/LavalinkServer\/application.yml.example\r\n\r\necho -e \"install complete\"\r\nexit 0", - "container": "debian:buster-slim", + "container": "debian:bullseye-slim", "entrypoint": "bash" } }, From d412e4fb79c8b64259eb60db3495a2fbe3b60a33 Mon Sep 17 00:00:00 2001 From: Charles Morgan Date: Thu, 21 Apr 2022 00:25:47 -0700 Subject: [PATCH 07/12] Update README.md (#1618) Update minecraft links --- game_eggs/minecraft/README.md | 66 +++++++++++++++++------------------ 1 file changed, 33 insertions(+), 33 deletions(-) diff --git a/game_eggs/minecraft/README.md b/game_eggs/minecraft/README.md index e10d63b2..3e8fca16 100644 --- a/game_eggs/minecraft/README.md +++ b/game_eggs/minecraft/README.md @@ -13,39 +13,39 @@ It’s set in infinitely-generated worlds of wide open terrain - icy mountains, ## [Java](java) Servers for Java Minecraft -* [Airplane](minecraft/java/airplane) -* [Cuberite](minecraft/java/cuberite) -* [Fabric](minecraft/java/fabric) -* [Feather](minecraft/java/feather) -* [Forge](minecraft/java/forge) - * [Forge](minecraft/java/forge/forge) - * [CusreForge Generic](minecraft/java/forge/curseforge-generic) -* [Feed The Beast](minecraft/java/ftb) -* [Glowstone](/minecraft/java/glowstone) -* [Krypton](/minecraft/java/krypton) -* [Magma](minecraft/java/magma) -* [Mohist](minecraft/java/mohist) -* [NanoLimbo](/minecraft/java/nanolimbo) -* [Paper](minecraft/java/paper) -* [Purpur](minecraft/java/purpur) -* [Spigot](minecraft/java/spigot) -* [SpongeForge](minecraft/java/spongeforge) -* [SpongeVanilla](minecraft/java/spongevanilla) -* [Technic](minecraft/java/technic) -* [Tuinity](minecraft/java/tuinity) -* [VanillaCord](minecraft/java/vanillacord) +* [Airplane](java/airplane) +* [Cuberite](java/cuberite) +* [Fabric](java/fabric) +* [Feather](java/feather) +* [Forge](java/forge) + * [Forge](java/forge/forge) + * [CusreForge Generic](java/forge/curseforge-generic) +* [Feed The Beast](java/ftb) +* [Glowstone](java/glowstone) +* [Krypton](java/krypton) +* [Magma](java/magma) +* [Mohist](java/mohist) +* [NanoLimbo](java/nanolimbo) +* [Paper](java/paper) +* [Purpur](java/purpur) +* [Spigot](java/spigot) +* [SpongeForge](java/spongeforge) +* [SpongeVanilla](/java/spongevanilla) +* [Technic](java/technic) +* [Tuinity](java/tuinity) +* [VanillaCord](java/vanillacord) ## [Proxies](proxy) Minecraft Server Proxies -* [Bedrock](minecraft/proxy/bedrock) - * [Waterdog PE](minecraft/proxy/bedrock/waterdog_pe) -* [Cross Platform](minecraft/proxy/cross_platform) - * [GeyserMC](minecraft/proxy/cross_platform/geyser) - * [Waterdog](minecraft/proxy/cross_platform/waterdog) -* [Java](minecraft/proxy/java) - * [FlameCord](minecraft/proxy/java/flamecord) - * [Travertine](minecraft/proxy/java/travertine) - * [TyphoonLimbo](minecraft/proxy/java/typhoonlimbo) - * [Velocity](minecraft/proxy/java/velocity) - * [VIAaas](minecraft/proxy/java/viaaas) - * [Waterfall](minecraft/proxy/java/waterfall) \ No newline at end of file +* [Bedrock](proxy/bedrock) + * [Waterdog PE](proxy/bedrock/waterdog_pe) +* [Cross Platform](proxy/cross_platform) + * [GeyserMC](proxy/cross_platform/geyser) + * [Waterdog](proxy/cross_platform/waterdog) +* [Java](proxy/java) + * [FlameCord](proxy/java/flamecord) + * [Travertine](proxy/java/travertine) + * [TyphoonLimbo](proxy/java/typhoonlimbo) + * [Velocity](proxy/java/velocity) + * [VIAaas](proxy/java/viaaas) + * [Waterfall](proxy/java/waterfall) From 9ac7d4860dea989e1cf6247459ffc2b679e6f96d Mon Sep 17 00:00:00 2001 From: TuEye Date: Sat, 23 Apr 2022 15:26:04 +0200 Subject: [PATCH 08/12] * Made egg compatible to Nitrox 1.6.0.0 * Using parkers script to determine Nitrox Downnload-URL * Moved to yolks * Made Admin Password longer and required --- .../subnautica_nitrox_mod/egg-subnautica.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/game_eggs/steamcmd_servers/subnautica_nitrox_mod/egg-subnautica.json b/game_eggs/steamcmd_servers/subnautica_nitrox_mod/egg-subnautica.json index 446b9485..6ff877ef 100644 --- a/game_eggs/steamcmd_servers/subnautica_nitrox_mod/egg-subnautica.json +++ b/game_eggs/steamcmd_servers/subnautica_nitrox_mod/egg-subnautica.json @@ -4,7 +4,7 @@ "version": "PTDL_v1", "update_url": null }, - "exported_at": "2021-08-18T21:29:22+02:00", + "exported_at": "2022-04-23T15:20:19+02:00", "name": "Subnautica", "author": "tueye@tuworld.de", "description": "Subnautica is an open world survival action-adventure video game developed and published by Unknown Worlds Entertainment. In it, players are free to explore the ocean on an alien planet, known as planet 4546B, after their spaceship, the Aurora, crashes on the planet's surface.\r\n\r\nNote: NitroxMod version >=1.5.0.0 is required", @@ -12,7 +12,7 @@ "steam_disk_space" ], "images": [ - "quay.io\/pterodactyl\/core:mono" + "ghcr.io\/parkervcp\/yolks:mono_latest" ], "file_denylist": [], "startup": "mono .\/nitrox\/NitroxServer-Subnautica.exe", @@ -24,8 +24,8 @@ }, "scripts": { "installation": { - "script": "#!\/bin\/bash\r\n# Installation Script\r\n#\r\n# Install dependencies\r\ndpkg --add-architecture i386\r\napt update\r\napt -y --no-install-recommends install curl unzip libstdc++6 lib32gcc1 ca-certificates libsdl2-2.0-0:i386\r\n\r\n## Get latest Nitrox-Mod build\r\nlatest_NitroxMod=$(curl --silent \"https:\/\/api.github.com\/repos\/SubnauticaNitrox\/Nitrox\/releases\/latest\" | grep '\"tag_name\":' | sed -E 's\/.*\"([^\"]+)\".*\/\\1\/')\r\n\r\nif [ -z \"${NITROX_VERSION}\" ] || [ \"${NITROX_VERSION}\" == \"latest\" ]; then\r\n DL_VERSION=$latest_NitroxMod\r\nelse\r\n DL_VERSION=${NITROX_VERSION}\r\nfi\r\n\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\ncd \/mnt\/server\/steamcmd\r\n\r\nchown -R root:root \/mnt\r\nexport HOME=\/mnt\/server\r\n\r\n\r\n## Install game using steamcmd\r\nGUARDCODE=\"${STEAM_GUARDCODE}\"\r\nif [ -z $GUARDCODE ]\r\nthen\r\n echo \"\"\r\n echo \"### You did not specify a Steam Guardcode\"\r\n echo \"### A new one should be send to you shortly\"\r\n echo \"### Enter it in the startup-config after this installation is finished and reinstall the Server\"\r\n sleep 10\r\n timeout 60 .\/steamcmd.sh +login ${STEAM_USERNAME} ${STEAM_PASSWORD} +quit\r\n exit 1\r\nfi\r\n\r\n[ ! -d \"$HOME\/subnautica\" ] && mkdir $HOME\/subnautica\r\n.\/steamcmd.sh +set_steam_guard_code ${STEAM_GUARDCODE} +login ${STEAM_USERNAME} ${STEAM_PASSWORD} +@sSteamCmdForcePlatformType windows +force_install_dir $HOME\/subnautica +app_update ${APPID} ${EXTRA_FLAGS} validate +quit\r\nstatus=$?\r\n\r\nif [ $status -ne 0 ]\r\nthen\r\n echo \"\"\r\n echo \"### The Download was not successful\"\r\n echo \"### Probably the entered Guardcode was wrong\"\r\n echo \"### A new one should be send to you shortly\"\r\n echo \"### Enter it in the startup-config after this installation is finished and reinstall the Server\"\r\n sleep 10\r\n sleep 10\r\n timeout 30 .\/steamcmd.sh +login ${STEAM_USERNAME} ${STEAM_PASSWORD} +quit\r\n exit 1\r\nfi\r\n\r\n\r\n## set up 32 bit libraries\r\nmkdir -p $HOME\/.steam\/sdk32\r\ncp -v linux32\/steamclient.so ..\/.steam\/sdk32\/steamclient.so\r\n\r\n## set up 64 bit libraries\r\nmkdir -p $HOME\/.steam\/sdk64\r\ncp -v linux64\/steamclient.so ..\/.steam\/sdk64\/steamclient.so\r\n\r\n\r\n## Download and extract Nitrox\r\n[ -d \"$HOME\/nitrox\" ] && rm -r $HOME\/nitrox\r\nmkdir $HOME\/nitrox\r\ncd $HOME\/nitrox\r\ncurl -sL https:\/\/github.com\/SubnauticaNitrox\/Nitrox\/releases\/download\/${DL_VERSION}\/Nitrox.${DL_VERSION}.zip -o Nitrox.${DL_VERSION}.zip\r\nunzip $HOME\/nitrox\/Nitrox.${DL_VERSION}.zip\r\n\r\n\r\n## Create path files to Subnautica Install-Dir\r\necho \"\/home\/container\/subnautica\" > $HOME\/path.txt\r\n\r\n\r\n## Create config\r\nif [ -e $HOME\/server.cfg ]; then\r\n echo \"server settings exists\"\r\nelse\r\n echo \"writing server default settings\"\r\n cat < $HOME\/server.cfg\r\n # Server settings can be changed here\r\n # Leave blank for a random spawn position\r\n Seed=\r\n ServerPort=11000\r\n # Measured in milliseconds\r\n SaveInterval=120000\r\n # Command to run following a successful world save (e.g. .exe, .bat, or PowerShell script). \r\n PostSaveCommandPath=\r\n MaxConnections=100\r\n DisableConsole=False\r\n DisableAutoSave=False\r\n SaveName=world\r\n ServerPassword=\r\n AdminPassword=PleaseChangeMe\r\n # Possible values: SURVIVAL, FREEDOM, HARDCORE, CREATIVE\r\n GameMode=SURVIVAL\r\n # Possible values: PROTOBUF, JSON\r\n SerializerMode=JSON\r\n # Possible values: NONE, PLAYER, MODERATOR, ADMIN, CONSOLE\r\n DefaultPlayerPerm=PLAYER\r\n #\r\n # Default player stats below here\r\n DefaultOxygenValue=45\r\n DefaultMaxOxygenValue=45\r\n DefaultHealthValue=80\r\n DefaultHungerValue=50.5\r\n DefaultThirstValue=90.5\r\n # Recommended to keep at 0.1f which is the default starting value. If set to 0 then new players are cured by default.\r\n DefaultInfectionValue=0.1\r\n # If set to true, the server will try to open port on your router via UPnP\r\n AutoPortForward=False\r\nEOT\r\nfi", - "container": "debian:buster-slim", + "script": "#!\/bin\/bash\r\n# Installation Script\r\n#\r\n# Install dependencies\r\ndpkg --add-architecture i386\r\napt update\r\napt -y --no-install-recommends install curl jq unzip libstdc++6 ca-certificates libsdl2-2.0-0:i386\r\n\r\n## Get latest Nitrox-Mod build\r\n#latest_NitroxMod=$(curl --silent \"https:\/\/api.github.com\/repos\/SubnauticaNitrox\/Nitrox\/releases\/latest\" | grep '\"tag_name\":' | sed -E 's\/.*\"([^\"]+)\".*\/\\1\/')\r\n\r\n#if [ -z \"${NITROX_VERSION}\" ] || [ \"${NITROX_VERSION}\" == \"latest\" ]; then\r\n# DL_VERSION=$latest_NitroxMod\r\n#else\r\n# DL_VERSION=${NITROX_VERSION}\r\n#fi\r\n\r\n## get release info and download links\r\nGITHUB_PACKAGE=\"SubnauticaNitrox\/Nitrox\"\r\nVERSION=${NITROX_VERSION}\r\nMATCH=\"Nitrox\"\r\n\r\nLATEST_JSON=$(curl --silent \"https:\/\/api.github.com\/repos\/${GITHUB_PACKAGE}\/releases\/latest\")\r\nRELEASES=$(curl --silent \"https:\/\/api.github.com\/repos\/${GITHUB_PACKAGE}\/releases\")\r\n\r\nif [ -z \"${VERSION}\" ] || [ \"${VERSION}\" == \"latest\" ]; then\r\n DOWNLOAD_URL=$(echo ${LATEST_JSON} | jq .assets | jq -r .[].browser_download_url | grep -i ${MATCH})\r\nelse\r\n VERSION_CHECK=$(echo ${RELEASES} | jq -r --arg VERSION \"${VERSION}\" '.[] | select(.tag_name==$VERSION) | .tag_name')\r\n if [ \"${VERSION}\" == \"${VERSION_CHECK}\" ]; then\r\n DOWNLOAD_URL=$(echo ${RELEASES} | jq -r --arg VERSION \"${VERSION}\" '.[] | select(.tag_name==$VERSION) | .assets[].browser_download_url' | grep -i ${MATCH})\r\n else\r\n echo -e \"defaulting to latest release\"\r\n DOWNLOAD_URL=$(echo ${LATEST_JSON} | jq .assets | jq -r .[].browser_download_url)\r\n fi\r\nfi\r\n\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\ncd \/mnt\/server\/steamcmd\r\n\r\nchown -R root:root \/mnt\r\nexport HOME=\/mnt\/server\r\n\r\n\r\n## Install game using steamcmd\r\nGUARDCODE=\"${STEAM_GUARDCODE}\"\r\nif [ -z $GUARDCODE ]\r\nthen\r\n echo \"\"\r\n echo \"### You did not specify a Steam Guardcode\"\r\n echo \"### A new one should be send to you shortly\"\r\n echo \"### Enter it in the startup-config after this installation is finished and reinstall the Server\"\r\n sleep 10\r\n timeout 60 .\/steamcmd.sh +login ${STEAM_USERNAME} ${STEAM_PASSWORD} +quit\r\n exit 1\r\nfi\r\n\r\n[ ! -d \"$HOME\/subnautica\" ] && mkdir $HOME\/subnautica\r\n.\/steamcmd.sh +set_steam_guard_code ${STEAM_GUARDCODE} +login ${STEAM_USERNAME} ${STEAM_PASSWORD} +@sSteamCmdForcePlatformType windows +force_install_dir $HOME\/subnautica +app_update ${APPID} ${EXTRA_FLAGS} validate +quit\r\nstatus=$?\r\n\r\nif [ $status -ne 0 ]\r\nthen\r\n echo \"\"\r\n echo \"### The Download was not successful\"\r\n echo \"### Probably the entered Guardcode was wrong\"\r\n echo \"### A new one should be send to you shortly\"\r\n echo \"### Enter it in the startup-config after this installation is finished and reinstall the Server\"\r\n sleep 10\r\n sleep 10\r\n timeout 30 .\/steamcmd.sh +login ${STEAM_USERNAME} ${STEAM_PASSWORD} +quit\r\n exit 1\r\nfi\r\n\r\n\r\n## set up 32 bit libraries\r\nmkdir -p $HOME\/.steam\/sdk32\r\ncp -v linux32\/steamclient.so ..\/.steam\/sdk32\/steamclient.so\r\n\r\n## set up 64 bit libraries\r\nmkdir -p $HOME\/.steam\/sdk64\r\ncp -v linux64\/steamclient.so ..\/.steam\/sdk64\/steamclient.so\r\n\r\n## Download and extract Nitrox\r\n[ -d \"$HOME\/nitrox\" ] && rm -r $HOME\/nitrox\r\nmkdir $HOME\/nitrox\r\ncd $HOME\/nitrox\r\ncurl -sL $DOWNLOAD_URL -o Nitrox.zip\r\nunzip $HOME\/nitrox\/Nitrox.zip\r\n\r\n\r\n## Create path files to Subnautica Install-Dir. Needed for versions pre 1.6.0\r\necho \"\/home\/container\/subnautica\" > $HOME\/path.txt\r\n\r\n## Create mono registry entry for Subnautica Install-Dir. Needed for versions since 1.6.0\r\nmkdir -p $HOME\/.mono\/registry\/CurrentUser\r\n cat < $HOME\/.mono\/registry\/CurrentUser\/values.xml\r\n \r\n \/home\/container\/subnautica<\/value>\r\n <\/values>\r\nEOT\r\n\r\n\r\n## Create config\r\nif [ -e $HOME\/server.cfg ]; then\r\n echo \"server settings exists\"\r\nelse\r\n echo \"writing server default settings\"\r\n cat < $HOME\/server.cfg\r\n # Server settings can be changed here\r\n # Set to true to Cache entities for the whole map on next run. \r\n # WARNING! Will make server load take longer on the cache run but players will gain a performance boost when entering new areas.\r\n CreateFullEntityCache=False\r\n # Leave blank for a random spawn position\r\n Seed=\r\n ServerPort=11000\r\n # Measured in milliseconds\r\n SaveInterval=120000\r\n # Command to run following a successful world save (e.g. .exe, .bat, or PowerShell script). \r\n PostSaveCommandPath=\r\n MaxConnections=100\r\n InitialSyncTimeout=300000\r\n DisableConsole=False\r\n DisableAutoSave=False\r\n SaveName=world\r\n ServerPassword=\r\n AdminPassword=PleaseChangeMe\r\n # Possible values: SURVIVAL, FREEDOM, HARDCORE, CREATIVE\r\n GameMode=SURVIVAL\r\n # Possible values: PROTOBUF, JSON\r\n SerializerMode=JSON\r\n # Possible values: NONE, PLAYER, MODERATOR, ADMIN, CONSOLE\r\n DefaultPlayerPerm=PLAYER\r\n #\r\n # Default player stats below here\r\n DefaultOxygenValue=45\r\n DefaultMaxOxygenValue=45\r\n DefaultHealthValue=80\r\n DefaultHungerValue=50.5\r\n DefaultThirstValue=90.5\r\n # Recommended to keep at 0.1f which is the default starting value. If set to 0 then new players are cured by default.\r\n DefaultInfectionValue=0.1\r\n # If set to true, the server will try to open port on your router via UPnP\r\n AutoPortForward=False\r\nEOT\r\nfi", + "container": "ghcr.io\/parkervcp\/installers:debian", "entrypoint": "bash" } }, @@ -118,7 +118,7 @@ "default_value": "PleaseChangeMe", "user_viewable": true, "user_editable": true, - "rules": "nullable|string|between:3,12" + "rules": "required|string|between:3,16" }, { "name": "Game Mode", @@ -148,4 +148,4 @@ "rules": "required|string|in:PROTOBUF,JSON" } ] -} +} \ No newline at end of file From 280547b07a9569c6ddf1164331e639774afd550a Mon Sep 17 00:00:00 2001 From: Stephen White Date: Sun, 24 Apr 2022 12:15:44 -0300 Subject: [PATCH 09/12] feat(arma 3): Variable for specifying optional mods (#1592) --- game_eggs/steamcmd_servers/arma/arma3/egg-arma3.json | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/game_eggs/steamcmd_servers/arma/arma3/egg-arma3.json b/game_eggs/steamcmd_servers/arma/arma3/egg-arma3.json index 9c72ea16..c4bc36b3 100644 --- a/game_eggs/steamcmd_servers/arma/arma3/egg-arma3.json +++ b/game_eggs/steamcmd_servers/arma/arma3/egg-arma3.json @@ -165,6 +165,15 @@ "user_editable": true, "rules": "nullable|string" }, + { + "name": "[Advanced] Optional Client-Side Mods", + "description": "A semicolon-separated list of optional mods to load into the keys folder, but not include in server's mod parameter. Useful for allowing clients to connect to the server with or without the mod loaded. Mods in this list must be in \"@workshopID\" form (ex. @123456789;@987654321;). These will also be included in Automatic Updates (if enabled).", + "env_variable": "OPTIONALMODS", + "default_value": "", + "user_viewable": true, + "user_editable": true, + "rules": "nullable|string" + }, { "name": "[Advanced] Extra Flags for SteamCMD", "description": "[This will override \"Download Creator DLCs\" if used] Only used when checking for server updates, and typically used for grabbing beta builds. Example: -beta profiling -betapassword CautionSpecialProfilingAndTestingBranchArma3", From 05be24d2b0df27770b6d68673bc6766846c2ec5b Mon Sep 17 00:00:00 2001 From: Red-Thirten Date: Tue, 26 Apr 2022 12:20:00 -0700 Subject: [PATCH 10/12] Added "Disable Seasonal Events" Option Added "Disable Seasonal Events" startup variable and updated the startup command to add the new flag `-DisableSeasonalEvents` if the variable is "true". This new flag was added to Satisfactory in 0.5.1.4 (https://satisfactory.fandom.com/wiki/Patch_0.5.1.4). --- .../satisfactory/egg-satisfactory.json | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/game_eggs/steamcmd_servers/satisfactory/egg-satisfactory.json b/game_eggs/steamcmd_servers/satisfactory/egg-satisfactory.json index 3d8f7889..cc82ea88 100644 --- a/game_eggs/steamcmd_servers/satisfactory/egg-satisfactory.json +++ b/game_eggs/steamcmd_servers/satisfactory/egg-satisfactory.json @@ -1,5 +1,5 @@ { - "_comment": "Pterodactyl Satisfactory Egg ~ Red-Thirten, Kubi, matthewp, Software-Noob, and Zarklord ~ 2021-11-29", + "_comment": "Pterodactyl Satisfactory Egg ~ Red-Thirten, Kubi, matthewp, Software-Noob, and Zarklord ~ 2022-02-07", "meta": { "version": "PTDL_v1", "update_url": null @@ -14,7 +14,7 @@ "ghcr.io\/parkervcp\/games:source" ], "file_denylist": [], - "startup": ".\/Engine\/Binaries\/Linux\/UE4Server-Linux-Shipping FactoryGame ?listen -Port={{SERVER_PORT}} -ServerQueryPort={{QUERY_PORT}} -BeaconPort={{BEACON_PORT}} -multihome=0.0.0.0", + "startup": ".\/Engine\/Binaries\/Linux\/UE4Server-Linux-Shipping FactoryGame ?listen -Port={{SERVER_PORT}} -ServerQueryPort={{QUERY_PORT}} -BeaconPort={{BEACON_PORT}} -multihome=0.0.0.0 $(if {{DISABLE_SEASONAL}}; then echo \"-DisableSeasonalEvents\"; fi)", "config": { "files": "{\r\n \"FactoryGame\/Saved\/Config\/LinuxServer\/Game.ini\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \"MaxPlayers\": \"MaxPlayers={{server.build.env.MAX_PLAYERS}}\"\r\n }\r\n },\r\n \"FactoryGame\/Saved\/Config\/LinuxServer\/Engine.ini\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \"mNumRotatingAutosaves\": \"mNumRotatingAutosaves={{server.build.env.NUM_AUTOSAVES}}\",\r\n \"bImplicitSend\": \"bImplicitSend={{server.build.env.UPLOAD_CRASH_REPORT}}\",\r\n \"InitialConnectTimeout\": \"InitialConnectTimeout={{server.build.env.INIT_CONNECT_TIMEOUT}}\",\r\n \"ConnectionTimeout\": \"ConnectionTimeout={{server.build.env.CONNECT_TIMEOUT}}\"\r\n }\r\n },\r\n \"FactoryGame\/Saved\/Config\/LinuxServer\/GameUserSettings.ini\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \"mFloatValues\": \"mFloatValues=((\\\"FG.AutosaveInterval\\\", {{server.build.env.AUTOSAVE_INTERVAL}}))\",\r\n \"mIntValues\": \"mIntValues=((\\\"FG.NetworkQuality\\\", {{server.build.env.NETWORK_QUALITY}}))\"\r\n }\r\n }\r\n}", "startup": "{\r\n \"done\": \"Engine Initialization\"\r\n}", @@ -92,6 +92,15 @@ "user_editable": true, "rules": "required|string|in:true,false" }, + { + "name": "Disable Seasonal Events", + "description": "Accepted values are \"true\" or \"false\". Setting to \"true\" will disable any currently active seasonal events.", + "env_variable": "DISABLE_SEASONAL", + "default_value": "false", + "user_viewable": true, + "user_editable": true, + "rules": "required|string|in:true,false" + }, { "name": "[Experimental] Max Players", "description": "[Requires server re-install to change default value!] The server and client are currently not optimized to support more than 4 players. However, you can override this value here at your own risk of poor performance.", From c1f57dfd7497e1e4c043874be00bb349664985a2 Mon Sep 17 00:00:00 2001 From: Red-Thirten Date: Tue, 26 Apr 2022 12:31:18 -0700 Subject: [PATCH 11/12] General README Improvements Updated some info and cleaned up verbiage in some places. --- .../steamcmd_servers/satisfactory/README.md | 53 +++++-------------- 1 file changed, 12 insertions(+), 41 deletions(-) diff --git a/game_eggs/steamcmd_servers/satisfactory/README.md b/game_eggs/steamcmd_servers/satisfactory/README.md index 79b49fed..a0d643ab 100644 --- a/game_eggs/steamcmd_servers/satisfactory/README.md +++ b/game_eggs/steamcmd_servers/satisfactory/README.md @@ -1,10 +1,7 @@ # Satisfactory - ***Updating your Egg?**: Ensure any existing servers have the latest Startup Command, new Startup Variables are set, **and you reinstall server!*** ___ - -## Authors / Contributors - +### Authors / Contributors @@ -62,40 +59,33 @@ ___ ___ - ### Game Description - From Coffee Stain's [Website](https://www.satisfactorygame.com/): > Satisfactory is a first-person open-world factory building game with a dash of exploration and combat. Play alone or with friends, explore an alien planet, create multi-story factories, and enter conveyor belt heaven! - ___ - ### Egg Capabilities - - Configuration of the Server Query, Beacon, and Game ports. - Configurable to automatically check for server updates on start via SteamCMD. Forcing validation is also configurable. - *[Experimental]* Max player configuration. - Autosave amount and interval configuration. - Disable crash reporting if desired. +- Disable seasonal events if desired. - ...and other advanced networking and server branch configurable settings. - ___ - ### Server Ports - -- Default server ports are listed below, but all three ports can be changed freely. +- Default server ports are listed below, but all three ports can be changed freely (\*some exceptions apply below). + - All three ports must be unique; they cannot currently be shared on one port (this may change in the future). + - It is recommended to distance ports of other running Satisfactory servers in Pterodactyl by **increments of 100** (it is currently unknown what the minimum increment is, but an increment of +1 caused cross-server talk in testing). Also, your internal ports **must match** your external ports on your network (ie. you can't have an external port of 7778 forwarded to your 7777 internal port; they must match). - **Note:** The Primary/Default/Game Port for your server in Pterodactyl will be Satisfactory's `-Port=????` game port, even though clients will **connect with the Query port**. -- It is recommended to distance ports of other running Satisfactory servers in Pterodactyl by **increments of 100** (it is currently unknown what the minimum increment is, but an increment of +1 caused cross-server talk in testing). Also, your internal ports **must match** your external ports on your network (ie. you can't have an external port of 7778 forwarded to your 7777 internal port; they must match). - ***All three ports are required to be open/allocated for normal server behavior!*** | Port | Default (UDP) | |---------|---------| | **Game (Primary Port in Pterodactyl)** | 7777 | | Beacon | 15000 | -| Server Query | 15777 | +| Server Query (Port clients connect with) | 15777 | ___ - ### Installation/System Requirements | | Bare Minimum | Recommended | @@ -108,54 +98,40 @@ ___ | Game Ownership | Not required to start. | Required to fully "initialize" (see [Server Initialization](#server-initialization) below) | ___ - ### Server Initialization - For a server to be fully "initialized", a client who owns the game must log into the server to "claim" it and create an administrator password. Then, a new session can be created via the "Create Game" tab in-game, or an existing save file can be uploaded (see [Save Files](#save-files) below). Misc. settings listed below can be configured by an admin client via the game's "Server Settings" tab, and are currently **not** set via the Egg: - - Server Password - Admin Password - Auto-Save on Player Disconnect - Pause When No Players Online - ...and possibly more as the client's UI is developed further for more configuration options. - ___ - ### Save Files - An existing save file (including single-player saves) can currently be uploaded to the server via two different methods: -- "Manage Saves" tab via a client in-game (Recommended) +- "Manage Saves" tab via an admin client in-game (Recommended) - Manually via the File Manager or SFTP Save files are located in this directory: - ```md /home/container/.config/Epic/FactoryGame/Saved/SaveGames/server ``` - *Note: A manually uploaded save will only load if it is (a.) loaded manually via the "Manage Saves" tab in-game, (b.) it is the only save file present, or (c.) its existing session name (not its file name) matches the existing save's session name *and* has the most recent time stamp.* ***Warning:*** Stopping the server **does not** currently save your game! Ensure it is saved before stopping the server. If you have forgotten your administrator password or would generally like to reset your server as if it were new, you can delete the following file: - ```md /home/container/.config/Epic/FactoryGame/Saved/SaveGames/ServerSettings. ``` - ___ - ### Console Commands - -As of v0.5.1.2, the console tab in the client server manager is the only way to execute commands. Entering commands via Pterodactyl do nothing. +As of v0.5.1.10, the console tab in the client server manager is the only way to execute commands. Entering commands via Pterodactyl do nothing. [List of known commands can be found via the Wiki.](https://satisfactory.fandom.com/wiki/Dedicated_servers#Console_commands) ___ - -### Errors/Warnings - +### Known Errors/Warnings The following errors or warnings you see in the console can safely be ignored: ```log @@ -163,29 +139,24 @@ 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') LogSteamShared: Warning: Steam Dedicated Server API failed to initialize. ``` - -The local file of 'steamclient.so' was attempted to be loaded, but could not because it is not present, causing the warning message. However, the backup `/home/container/.steam/sdk64/steamclient.so` is loaded successfully (this is the correct behavior according to the [Wiki](https://satisfactory.fandom.com/wiki/Dedicated_servers#SteamAPI_Init.28.29:_Sys_LoadModule_filed_to_load:_.2Fpath.2Fto.2F.steam.2Fsdk64.2Fsteamclient.so)). +↑ The local file of 'steamclient.so' was attempted to be loaded, but could not because it is not present, causing the warning message. However, the backup `/home/container/.steam/sdk64/steamclient.so` is loaded successfully (this is the correct behavior according to the [Wiki](https://satisfactory.fandom.com/wiki/Dedicated_servers#SteamAPI_Init.28.29:_Sys_LoadModule_filed_to_load:_.2Fpath.2Fto.2F.steam.2Fsdk64.2Fsteamclient.so)). ```log Warning: failed to init SDL thread priority manager: SDL not found ``` -This is a common error with Steam related software on Linux, but can safely be ignored. +↑ This is a common error with Steam related software on Linux, but can safely be ignored. ```log ...Error: Couldn't find file for package... ``` - ```log ...Error: Navmesh bounds are too large!... ``` - ```log ...Warning: NiagaraSystem... ``` - ```log LogStreaming: Warning: Failed to read file '../../../FactoryGame/Saved/SaveGames/GameAnalytics.sav' error. ``` - -These seem to be common error messages with the current experimental version of the game. +↑ These seem to be common error messages with the current experimental version of the game. From dcdb4fdfb167070f4d7b278e7ce472aed1505978 Mon Sep 17 00:00:00 2001 From: Red-Thirten Date: Tue, 26 Apr 2022 12:46:43 -0700 Subject: [PATCH 12/12] Fix whitespace issues in README.md Fixed a regression with newline spacing. --- .../steamcmd_servers/satisfactory/README.md | 33 +++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/game_eggs/steamcmd_servers/satisfactory/README.md b/game_eggs/steamcmd_servers/satisfactory/README.md index a0d643ab..ccd22a4f 100644 --- a/game_eggs/steamcmd_servers/satisfactory/README.md +++ b/game_eggs/steamcmd_servers/satisfactory/README.md @@ -1,7 +1,10 @@ # Satisfactory + ***Updating your Egg?**: Ensure any existing servers have the latest Startup Command, new Startup Variables are set, **and you reinstall server!*** ___ + ### Authors / Contributors +
@@ -59,11 +62,16 @@ ___ ___ + ### Game Description + From Coffee Stain's [Website](https://www.satisfactorygame.com/): > Satisfactory is a first-person open-world factory building game with a dash of exploration and combat. Play alone or with friends, explore an alien planet, create multi-story factories, and enter conveyor belt heaven! + ___ + ### Egg Capabilities + - Configuration of the Server Query, Beacon, and Game ports. - Configurable to automatically check for server updates on start via SteamCMD. Forcing validation is also configurable. - *[Experimental]* Max player configuration. @@ -71,8 +79,11 @@ ___ - Disable crash reporting if desired. - Disable seasonal events if desired. - ...and other advanced networking and server branch configurable settings. + ___ + ### Server Ports + - Default server ports are listed below, but all three ports can be changed freely (\*some exceptions apply below). - All three ports must be unique; they cannot currently be shared on one port (this may change in the future). - It is recommended to distance ports of other running Satisfactory servers in Pterodactyl by **increments of 100** (it is currently unknown what the minimum increment is, but an increment of +1 caused cross-server talk in testing). Also, your internal ports **must match** your external ports on your network (ie. you can't have an external port of 7778 forwarded to your 7777 internal port; they must match). @@ -86,6 +97,7 @@ ___ | Server Query (Port clients connect with) | 15777 | ___ + ### Installation/System Requirements | | Bare Minimum | Recommended | @@ -98,40 +110,56 @@ ___ | Game Ownership | Not required to start. | Required to fully "initialize" (see [Server Initialization](#server-initialization) below) | ___ + ### Server Initialization + For a server to be fully "initialized", a client who owns the game must log into the server to "claim" it and create an administrator password. Then, a new session can be created via the "Create Game" tab in-game, or an existing save file can be uploaded (see [Save Files](#save-files) below). Misc. settings listed below can be configured by an admin client via the game's "Server Settings" tab, and are currently **not** set via the Egg: + - Server Password - Admin Password - Auto-Save on Player Disconnect - Pause When No Players Online - ...and possibly more as the client's UI is developed further for more configuration options. + ___ + ### Save Files + An existing save file (including single-player saves) can currently be uploaded to the server via two different methods: + - "Manage Saves" tab via an admin client in-game (Recommended) - Manually via the File Manager or SFTP Save files are located in this directory: + ```md /home/container/.config/Epic/FactoryGame/Saved/SaveGames/server ``` + *Note: A manually uploaded save will only load if it is (a.) loaded manually via the "Manage Saves" tab in-game, (b.) it is the only save file present, or (c.) its existing session name (not its file name) matches the existing save's session name *and* has the most recent time stamp.* ***Warning:*** Stopping the server **does not** currently save your game! Ensure it is saved before stopping the server. If you have forgotten your administrator password or would generally like to reset your server as if it were new, you can delete the following file: + ```md /home/container/.config/Epic/FactoryGame/Saved/SaveGames/ServerSettings. ``` + ___ + ### Console Commands + As of v0.5.1.10, the console tab in the client server manager is the only way to execute commands. Entering commands via Pterodactyl do nothing. [List of known commands can be found via the Wiki.](https://satisfactory.fandom.com/wiki/Dedicated_servers#Console_commands) + ___ + ### Known Errors/Warnings + The following errors or warnings you see in the console can safely be ignored: ```log @@ -139,6 +167,7 @@ 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') LogSteamShared: Warning: Steam Dedicated Server API failed to initialize. ``` + ↑ The local file of 'steamclient.so' was attempted to be loaded, but could not because it is not present, causing the warning message. However, the backup `/home/container/.steam/sdk64/steamclient.so` is loaded successfully (this is the correct behavior according to the [Wiki](https://satisfactory.fandom.com/wiki/Dedicated_servers#SteamAPI_Init.28.29:_Sys_LoadModule_filed_to_load:_.2Fpath.2Fto.2F.steam.2Fsdk64.2Fsteamclient.so)). ```log @@ -150,13 +179,17 @@ Warning: failed to init SDL thread priority manager: SDL not found ```log ...Error: Couldn't find file for package... ``` + ```log ...Error: Navmesh bounds are too large!... ``` + ```log ...Warning: NiagaraSystem... ``` + ```log LogStreaming: Warning: Failed to read file '../../../FactoryGame/Saved/SaveGames/GameAnalytics.sav' error. ``` + ↑ These seem to be common error messages with the current experimental version of the game.