From 065d88be667cee6bcd6445dd9760efd17cd24a4a Mon Sep 17 00:00:00 2001 From: Elite Espeon Date: Sat, 3 Jun 2023 11:17:34 -0400 Subject: [PATCH 1/6] Add Neos VR --- README.md | 1 + game_eggs/README.md | 1 + game_eggs/steamcmd_servers/README.md | 3 + game_eggs/steamcmd_servers/neosvr/README.md | 10 +++ .../steamcmd_servers/neosvr/egg-neos-v-r.json | 82 +++++++++++++++++++ 5 files changed, 97 insertions(+) create mode 100644 game_eggs/steamcmd_servers/neosvr/README.md create mode 100644 game_eggs/steamcmd_servers/neosvr/egg-neos-v-r.json diff --git a/README.md b/README.md index 5e782063..d5ec3f26 100644 --- a/README.md +++ b/README.md @@ -247,6 +247,7 @@ If you are reading this it looks like you are looking to add an egg to your serv * [Left 4 Dead 2](game_eggs/steamcmd_servers/left4dead_2) * [Modiverse](game_eggs/steamcmd_servers/modiverse) * [Mordhau](game_eggs/steamcmd_servers/mordhau) +* [Neos VR](game_eggs/steamcmd_servers/neosvr) * [No More Room in Hell](game_eggs/steamcmd_servers/nmrih) * [Onset](game_eggs/steamcmd_servers/onset) * [Open Fortress](game_eggs/steamcmd_servers/open_fortress) diff --git a/game_eggs/README.md b/game_eggs/README.md index 978c5961..e0d5bfc1 100644 --- a/game_eggs/README.md +++ b/game_eggs/README.md @@ -145,6 +145,7 @@ * [Left 4 Dead 2](steamcmd_servers/left4dead_2) * [Modiverse](steamcmd_servers/modiverse) * [Mordhau](steamcmd_servers/mordhau) +* [Neos VR](steamcmd_servers/neosvr) * [No More Room in Hell](steamcmd_servers/nmrih) * [Onset](steamcmd_servers/onset) * [Open Fortress](steamcmd_servers/open_fortress) diff --git a/game_eggs/steamcmd_servers/README.md b/game_eggs/steamcmd_servers/README.md index b338a27c..3e9b1780 100644 --- a/game_eggs/steamcmd_servers/README.md +++ b/game_eggs/steamcmd_servers/README.md @@ -118,6 +118,9 @@ This is a collection of servers that use SteamCMD to install. [Mordhau](mordhau) +## Neos VR +[Neos VR](neosvr) + ## Onset [Onset](onset) diff --git a/game_eggs/steamcmd_servers/neosvr/README.md b/game_eggs/steamcmd_servers/neosvr/README.md new file mode 100644 index 00000000..0e0a49dd --- /dev/null +++ b/game_eggs/steamcmd_servers/neosvr/README.md @@ -0,0 +1,10 @@ +# Neos VR headless client +## From https://neos.com +Developing Neos, short for neo spatium - new space, a highly collaborative virtual and augmented reality metaverse. + +# Notice + +To use this egg you will need a beta code and a steam account. The account will also need to have neos vr in its library. You can do this by running app_license_request 740250 in steamcmd if you have never installed neos on this account. +For more information related to configuration go here: https://wiki.neos.com/Headless_Client/Server + +This game does not require any port forwarding, but instead uses UDP NAT hole punching (and/or relay) on a random port. You can force a certain port in the config for direct connections, but most communcation is done via NAT hole punch using LiteNetLib (LNL). \ No newline at end of file diff --git a/game_eggs/steamcmd_servers/neosvr/egg-neos-v-r.json b/game_eggs/steamcmd_servers/neosvr/egg-neos-v-r.json new file mode 100644 index 00000000..7f32ac03 --- /dev/null +++ b/game_eggs/steamcmd_servers/neosvr/egg-neos-v-r.json @@ -0,0 +1,82 @@ +{ + "_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO", + "meta": { + "version": "PTDL_v2", + "update_url": null + }, + "exported_at": "2023-06-03T10:59:04-04:00", + "name": "NeosVR", + "author": "espeon@espeon.dev", + "description": "Neos VR is a metaverse engineered for the unknown! It\u2019s one of the most versatile and feature rich metaverses for virtual reality, designed so everybody can find something interesting or useful to do in a social setting.", + "features": null, + "docker_images": { + "ghcr.io\/parkervcp\/yolks:mono_latest": "ghcr.io\/parkervcp\/yolks:mono_latest" + }, + "file_denylist": [], + "startup": "exec mono Neos.exe -c .\/Config\/Config.json -l .\/Logs $(if {{ENABLE_MODLOADER}}; then echo \"-LoadAssembly .\/NeosModLoaderHeadless.dll\"; fi)", + "config": { + "files": "{}", + "startup": "{\r\n \"done\": \"World running...\",\r\n \"userInteraction\": []\r\n}", + "logs": "{}", + "stop": "shutdown" + }, + "scripts": { + "installation": { + "script": "#!\/bin\/bash\r\n# steamcmd Base Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n##\r\n#\r\n# Variables\r\n# STEAM_USER, STEAM_PASS, STEAM_AUTH - Steam user setup. If a user has 2fa enabled it will most likely fail due to timeout. Leave blank for anon install.\r\n# WINDOWS_INSTALL - if it's a windows server you want to install set to 1\r\n# SRCDS_APPID - steam app id ffound here - https:\/\/developer.valvesoftware.com\/wiki\/Dedicated_Servers_List\r\n# EXTRA_FLAGS - when a server has extra glas for things like beta installs or updates.\r\n#\r\n##\r\n## just in case someone removed the defaults.\r\nif [ \"${STEAM_USER}\" == \"\" ]; then\r\necho -e \"steam user is not set.\\n\"\r\necho -e \"Using anonymous user.\\n\"\r\nSTEAM_USER=anonymous\r\nSTEAM_PASS=\"\"\r\nSTEAM_AUTH=\"\"\r\nelse\r\necho -e \"user set to ${STEAM_USER}\"\r\nfi\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# 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## install game using steamcmd\r\n.\/steamcmd.sh +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} +force_install_dir \/mnt\/server +app_update 740250 -beta headless-client -betapassword ${BETA_PASSWORD} validate +quit\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## set up 64 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk64\r\ncp -v linux64\/steamclient.so ..\/.steam\/sdk64\/steamclient.so\r\n## create default config\r\nmkdir \/mnt\/server\/Config\r\nrm -rf \/mnt\/server\/Config\/Config.json\r\ncat >> \/mnt\/server\/Config\/Config.json << EOF\r\n{\r\n\"$schema\": \"https:\/\/raw.githubusercontent.com\/Neos-Metaverse\/JSONSchemas\/main\/schemas\/NeosHeadlessConfig.schema.json\",\r\n\"universeId\": null,\r\n\"tickRate\": 60.0,\r\n\"maxConcurrentAssetTransfers\": 4,\r\n\"usernameOverride\": null,\r\n\"loginCredential\": \"\",\r\n\"loginPassword\": \"\",\r\n\"startWorlds\": [\r\n{\r\n\"isEnabled\": true,\r\n\"saveAsOwner\": null,\r\n\"autoInviteUsernames\": null,\r\n\"parentSessionIds\": null,\r\n\"autoInviteMessage\": null,\r\n\"autoRecover\": true,\r\n\"idleRestartInterval\": -1.0,\r\n\"forcedRestartInterval\": -1.0,\r\n\"saveOnExit\": false,\r\n\"autosaveInterval\": -1.0,\r\n\"autoSleep\": true,\r\n\"sessionName\": null,\r\n\"customSessionId\": null,\r\n\"description\": null,\r\n\"maxUsers\": 32,\r\n\"accessLevel\": \"Anyone\",\r\n\"hideFromPublicListing\": null,\r\n\"tags\": null,\r\n\"mobileFriendly\": false,\r\n\"loadWorldURL\": null,\r\n\"loadWorldPresetName\": \"SpaceWorld\",\r\n\"overrideCorrespondingWorldId\": null,\r\n\"forcePort\": null,\r\n\"keepOriginalRoles\": false,\r\n\"defaultUserRoles\": null,\r\n\"roleCloudVariable\": null,\r\n\"allowUserCloudVariable\": null,\r\n\"denyUserCloudVariable\": null,\r\n\"requiredUserJoinCloudVariable\": null,\r\n\"requiredUserJoinCloudVariableDenyMessage\": null,\r\n\"awayKickMinutes\": -1.0\r\n}\r\n],\r\n\"dataFolder\": null,\r\n\"cacheFolder\": null,\r\n\"logsFolder\": null,\r\n\"allowedUrlHosts\": null,\r\n\"autoSpawnItems\": null,\r\n\"metamovieRoles\": null\r\n}\r\nEOF", + "container": "ghcr.io\/pterodactyl\/installers:debian", + "entrypoint": "bash" + } + }, + "variables": [ + { + "name": "Steam Account User", + "description": "The username for your Steam account.", + "env_variable": "STEAM_USER", + "default_value": "null", + "user_viewable": true, + "user_editable": true, + "rules": "required|string|max:128", + "field_type": "text" + }, + { + "name": "Steam Account Password", + "description": "The password for your Steam account.", + "env_variable": "STEAM_PASS", + "default_value": "null", + "user_viewable": true, + "user_editable": true, + "rules": "required|string|max:128", + "field_type": "text" + }, + { + "name": "Steam Account Token\/Code", + "description": "The Steam Guard code or Login Token emailed to you.", + "env_variable": "STEAM_AUTH", + "default_value": "0000000", + "user_viewable": true, + "user_editable": true, + "rules": "nullable|string", + "field_type": "text" + }, + { + "name": "Enable Mod Loader", + "description": "See: https:\/\/github.com\/neos-modding-group\/NeosModLoader for more information on Neos Mod Loader.", + "env_variable": "ENABLE_MODLOADER", + "default_value": "false", + "user_viewable": true, + "user_editable": true, + "rules": "required|string|in:true,false", + "field_type": "text" + }, + { + "name": "Beta Password", + "description": "This is the \"Beta Password\" that is only acquired by going to the Neos Patreon, subscribing to the \"Gunter\" level, and linking your Patreon to Discord. Then you will be able to see the #headless-client channel and the password will be pinned in the command after -betapassword.", + "env_variable": "BETA_PASSWORD", + "default_value": "none", + "user_viewable": true, + "user_editable": true, + "rules": "required|string|max:30", + "field_type": "text" + } + ] +} \ No newline at end of file From 6f406f45fdb8011eb05aea969535b0e0d80faf01 Mon Sep 17 00:00:00 2001 From: Elite Espeon Date: Sat, 3 Jun 2023 12:23:28 -0400 Subject: [PATCH 2/6] Remove exec from startup as its unneeded --- game_eggs/steamcmd_servers/neosvr/egg-neos-v-r.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/game_eggs/steamcmd_servers/neosvr/egg-neos-v-r.json b/game_eggs/steamcmd_servers/neosvr/egg-neos-v-r.json index 7f32ac03..2a3d1268 100644 --- a/game_eggs/steamcmd_servers/neosvr/egg-neos-v-r.json +++ b/game_eggs/steamcmd_servers/neosvr/egg-neos-v-r.json @@ -4,7 +4,7 @@ "version": "PTDL_v2", "update_url": null }, - "exported_at": "2023-06-03T10:59:04-04:00", + "exported_at": "2023-06-03T12:21:23-04:00", "name": "NeosVR", "author": "espeon@espeon.dev", "description": "Neos VR is a metaverse engineered for the unknown! It\u2019s one of the most versatile and feature rich metaverses for virtual reality, designed so everybody can find something interesting or useful to do in a social setting.", @@ -13,7 +13,7 @@ "ghcr.io\/parkervcp\/yolks:mono_latest": "ghcr.io\/parkervcp\/yolks:mono_latest" }, "file_denylist": [], - "startup": "exec mono Neos.exe -c .\/Config\/Config.json -l .\/Logs $(if {{ENABLE_MODLOADER}}; then echo \"-LoadAssembly .\/NeosModLoaderHeadless.dll\"; fi)", + "startup": "mono Neos.exe -c .\/Config\/Config.json -l .\/Logs $(if {{ENABLE_MODLOADER}}; then echo \"-LoadAssembly .\/NeosModLoaderHeadless.dll\"; fi)", "config": { "files": "{}", "startup": "{\r\n \"done\": \"World running...\",\r\n \"userInteraction\": []\r\n}", From cf17d3eee2350e01da3038d974fca7680676bfc0 Mon Sep 17 00:00:00 2001 From: Quinten <67589015+QuintenQVD0@users.noreply.github.com> Date: Sat, 3 Jun 2023 18:49:20 +0200 Subject: [PATCH 3/6] add config to github --- game_eggs/steamcmd_servers/neosvr/Config.json | 48 +++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 game_eggs/steamcmd_servers/neosvr/Config.json diff --git a/game_eggs/steamcmd_servers/neosvr/Config.json b/game_eggs/steamcmd_servers/neosvr/Config.json new file mode 100644 index 00000000..648a31ca --- /dev/null +++ b/game_eggs/steamcmd_servers/neosvr/Config.json @@ -0,0 +1,48 @@ +{ + "$schema": "https://raw.githubusercontent.com/Neos-Metaverse/JSONSchemas/main/schemas/NeosHeadlessConfig.schema.json", + "universeId": null, + "tickRate": 60.0, + "maxConcurrentAssetTransfers": 4, + "usernameOverride": null, + "loginCredential": "", + "loginPassword": "", + "startWorlds": [{ + "isEnabled": true, + "saveAsOwner": null, + "autoInviteUsernames": null, + "parentSessionIds": null, + "autoInviteMessage": null, + "autoRecover": true, + "idleRestartInterval": -1.0, + "forcedRestartInterval": -1.0, + "saveOnExit": false, + "autosaveInterval": -1.0, + "autoSleep": true, + "sessionName": null, + "customSessionId": null, + "description": null, + "maxUsers": 32, + "accessLevel": "Anyone", + "hideFromPublicListing": null, + "tags": null, + "mobileFriendly": false, + "loadWorldURL": null, + "loadWorldPresetName": "SpaceWorld", + "overrideCorrespondingWorldId": null, + "forcePort": null, + "keepOriginalRoles": false, + "defaultUserRoles": null, + "roleCloudVariable": null, + "allowUserCloudVariable": null, + "denyUserCloudVariable": null, + "requiredUserJoinCloudVariable": null, + "requiredUserJoinCloudVariableDenyMessage": null, + "awayKickMinutes": -1.0 + }], + "dataFolder": null, + "cacheFolder": null, + "logsFolder": null, + "allowedUrlHosts": null, + "autoSpawnItems": null, + "metamovieRoles": null +} \ No newline at end of file From 529350f68bd3e03105e1148ca4cbe22e6cdbe3e8 Mon Sep 17 00:00:00 2001 From: Quinten <67589015+QuintenQVD0@users.noreply.github.com> Date: Sat, 3 Jun 2023 18:52:41 +0200 Subject: [PATCH 4/6] standardize NeosVR --- .../steamcmd_servers/neosvr/egg-neos-v-r.json | 40 ++++++++++++++----- 1 file changed, 30 insertions(+), 10 deletions(-) diff --git a/game_eggs/steamcmd_servers/neosvr/egg-neos-v-r.json b/game_eggs/steamcmd_servers/neosvr/egg-neos-v-r.json index 2a3d1268..3891b69b 100644 --- a/game_eggs/steamcmd_servers/neosvr/egg-neos-v-r.json +++ b/game_eggs/steamcmd_servers/neosvr/egg-neos-v-r.json @@ -4,26 +4,26 @@ "version": "PTDL_v2", "update_url": null }, - "exported_at": "2023-06-03T12:21:23-04:00", + "exported_at": "2023-06-03T18:51:27+02:00", "name": "NeosVR", "author": "espeon@espeon.dev", "description": "Neos VR is a metaverse engineered for the unknown! It\u2019s one of the most versatile and feature rich metaverses for virtual reality, designed so everybody can find something interesting or useful to do in a social setting.", "features": null, "docker_images": { - "ghcr.io\/parkervcp\/yolks:mono_latest": "ghcr.io\/parkervcp\/yolks:mono_latest" + "Mono": "ghcr.io\/parkervcp\/yolks:mono_latest" }, "file_denylist": [], "startup": "mono Neos.exe -c .\/Config\/Config.json -l .\/Logs $(if {{ENABLE_MODLOADER}}; then echo \"-LoadAssembly .\/NeosModLoaderHeadless.dll\"; fi)", "config": { "files": "{}", - "startup": "{\r\n \"done\": \"World running...\",\r\n \"userInteraction\": []\r\n}", + "startup": "{\r\n \"done\": \"World running...\"\r\n}", "logs": "{}", "stop": "shutdown" }, "scripts": { "installation": { - "script": "#!\/bin\/bash\r\n# steamcmd Base Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n##\r\n#\r\n# Variables\r\n# STEAM_USER, STEAM_PASS, STEAM_AUTH - Steam user setup. If a user has 2fa enabled it will most likely fail due to timeout. Leave blank for anon install.\r\n# WINDOWS_INSTALL - if it's a windows server you want to install set to 1\r\n# SRCDS_APPID - steam app id ffound here - https:\/\/developer.valvesoftware.com\/wiki\/Dedicated_Servers_List\r\n# EXTRA_FLAGS - when a server has extra glas for things like beta installs or updates.\r\n#\r\n##\r\n## just in case someone removed the defaults.\r\nif [ \"${STEAM_USER}\" == \"\" ]; then\r\necho -e \"steam user is not set.\\n\"\r\necho -e \"Using anonymous user.\\n\"\r\nSTEAM_USER=anonymous\r\nSTEAM_PASS=\"\"\r\nSTEAM_AUTH=\"\"\r\nelse\r\necho -e \"user set to ${STEAM_USER}\"\r\nfi\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# 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## install game using steamcmd\r\n.\/steamcmd.sh +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} +force_install_dir \/mnt\/server +app_update 740250 -beta headless-client -betapassword ${BETA_PASSWORD} validate +quit\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## set up 64 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk64\r\ncp -v linux64\/steamclient.so ..\/.steam\/sdk64\/steamclient.so\r\n## create default config\r\nmkdir \/mnt\/server\/Config\r\nrm -rf \/mnt\/server\/Config\/Config.json\r\ncat >> \/mnt\/server\/Config\/Config.json << EOF\r\n{\r\n\"$schema\": \"https:\/\/raw.githubusercontent.com\/Neos-Metaverse\/JSONSchemas\/main\/schemas\/NeosHeadlessConfig.schema.json\",\r\n\"universeId\": null,\r\n\"tickRate\": 60.0,\r\n\"maxConcurrentAssetTransfers\": 4,\r\n\"usernameOverride\": null,\r\n\"loginCredential\": \"\",\r\n\"loginPassword\": \"\",\r\n\"startWorlds\": [\r\n{\r\n\"isEnabled\": true,\r\n\"saveAsOwner\": null,\r\n\"autoInviteUsernames\": null,\r\n\"parentSessionIds\": null,\r\n\"autoInviteMessage\": null,\r\n\"autoRecover\": true,\r\n\"idleRestartInterval\": -1.0,\r\n\"forcedRestartInterval\": -1.0,\r\n\"saveOnExit\": false,\r\n\"autosaveInterval\": -1.0,\r\n\"autoSleep\": true,\r\n\"sessionName\": null,\r\n\"customSessionId\": null,\r\n\"description\": null,\r\n\"maxUsers\": 32,\r\n\"accessLevel\": \"Anyone\",\r\n\"hideFromPublicListing\": null,\r\n\"tags\": null,\r\n\"mobileFriendly\": false,\r\n\"loadWorldURL\": null,\r\n\"loadWorldPresetName\": \"SpaceWorld\",\r\n\"overrideCorrespondingWorldId\": null,\r\n\"forcePort\": null,\r\n\"keepOriginalRoles\": false,\r\n\"defaultUserRoles\": null,\r\n\"roleCloudVariable\": null,\r\n\"allowUserCloudVariable\": null,\r\n\"denyUserCloudVariable\": null,\r\n\"requiredUserJoinCloudVariable\": null,\r\n\"requiredUserJoinCloudVariableDenyMessage\": null,\r\n\"awayKickMinutes\": -1.0\r\n}\r\n],\r\n\"dataFolder\": null,\r\n\"cacheFolder\": null,\r\n\"logsFolder\": null,\r\n\"allowedUrlHosts\": null,\r\n\"autoSpawnItems\": null,\r\n\"metamovieRoles\": null\r\n}\r\nEOF", - "container": "ghcr.io\/pterodactyl\/installers:debian", + "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## 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\r\n## create default config\r\nmkdir -p \/mnt\/server\/Config\r\nrm -rf \/mnt\/server\/Config\/Config.json\r\ncurl -sSL -o \/mnt\/server\/Config\/Config.json https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/game_eggs\/steamcmd_servers\/neosvr\/Config.json\r\n\r\n## install end\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"", + "container": "ghcr.io\/parkervcp\/installers:debian", "entrypoint": "bash" } }, @@ -32,7 +32,7 @@ "name": "Steam Account User", "description": "The username for your Steam account.", "env_variable": "STEAM_USER", - "default_value": "null", + "default_value": "", "user_viewable": true, "user_editable": true, "rules": "required|string|max:128", @@ -42,7 +42,7 @@ "name": "Steam Account Password", "description": "The password for your Steam account.", "env_variable": "STEAM_PASS", - "default_value": "null", + "default_value": "", "user_viewable": true, "user_editable": true, "rules": "required|string|max:128", @@ -52,7 +52,7 @@ "name": "Steam Account Token\/Code", "description": "The Steam Guard code or Login Token emailed to you.", "env_variable": "STEAM_AUTH", - "default_value": "0000000", + "default_value": "", "user_viewable": true, "user_editable": true, "rules": "nullable|string", @@ -71,12 +71,32 @@ { "name": "Beta Password", "description": "This is the \"Beta Password\" that is only acquired by going to the Neos Patreon, subscribing to the \"Gunter\" level, and linking your Patreon to Discord. Then you will be able to see the #headless-client channel and the password will be pinned in the command after -betapassword.", - "env_variable": "BETA_PASSWORD", - "default_value": "none", + "env_variable": "SRCDS_BETAPASS", + "default_value": "", "user_viewable": true, "user_editable": true, "rules": "required|string|max:30", "field_type": "text" + }, + { + "name": "Beta branch name", + "description": "", + "env_variable": "SRCDS_BETAID", + "default_value": "headless-client", + "user_viewable": false, + "user_editable": false, + "rules": "required|string|", + "field_type": "text" + }, + { + "name": "Auto update", + "description": "Auto update the server on startup", + "env_variable": "AUTO_UPDATE", + "default_value": "1", + "user_viewable": true, + "user_editable": true, + "rules": "required|boolean", + "field_type": "text" } ] } \ No newline at end of file From f8ce51ab5b6ae8fe78a4b2c6fea3c0b89149d086 Mon Sep 17 00:00:00 2001 From: Elite Espeon Date: Sat, 3 Jun 2023 13:32:42 -0400 Subject: [PATCH 5/6] Update wording about Steam account --- game_eggs/steamcmd_servers/neosvr/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/game_eggs/steamcmd_servers/neosvr/README.md b/game_eggs/steamcmd_servers/neosvr/README.md index 0e0a49dd..83007b28 100644 --- a/game_eggs/steamcmd_servers/neosvr/README.md +++ b/game_eggs/steamcmd_servers/neosvr/README.md @@ -4,7 +4,7 @@ Developing Neos, short for neo spatium - new space, a highly collaborative virtu # Notice -To use this egg you will need a beta code and a steam account. The account will also need to have neos vr in its library. You can do this by running app_license_request 740250 in steamcmd if you have never installed neos on this account. +To use this egg you will need a beta code and a Steam account. Currently the beta code can only acquired by going to the Neos Patreon, subscribing to the "Gunter" level, and linking your Patreon to Discord. Then you will be able to see the #headless-client channel and the password will be pinned in the command after -betapassword. The account will also need to have Neos VR in its library. You can do this by running `app_license_request 740250` in steamcmd if you have never installed Neos VR on this Steam account. For more information related to configuration go here: https://wiki.neos.com/Headless_Client/Server This game does not require any port forwarding, but instead uses UDP NAT hole punching (and/or relay) on a random port. You can force a certain port in the config for direct connections, but most communcation is done via NAT hole punch using LiteNetLib (LNL). \ No newline at end of file From db8b2180d451879fb671ba348e1abd9567887873 Mon Sep 17 00:00:00 2001 From: Elite Espeon Date: Sat, 3 Jun 2023 13:34:08 -0400 Subject: [PATCH 6/6] Added Steam App ID variable --- game_eggs/steamcmd_servers/neosvr/egg-neos-v-r.json | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/game_eggs/steamcmd_servers/neosvr/egg-neos-v-r.json b/game_eggs/steamcmd_servers/neosvr/egg-neos-v-r.json index 3891b69b..a9c11cb2 100644 --- a/game_eggs/steamcmd_servers/neosvr/egg-neos-v-r.json +++ b/game_eggs/steamcmd_servers/neosvr/egg-neos-v-r.json @@ -4,7 +4,7 @@ "version": "PTDL_v2", "update_url": null }, - "exported_at": "2023-06-03T18:51:27+02:00", + "exported_at": "2023-06-03T13:33:19-04:00", "name": "NeosVR", "author": "espeon@espeon.dev", "description": "Neos VR is a metaverse engineered for the unknown! It\u2019s one of the most versatile and feature rich metaverses for virtual reality, designed so everybody can find something interesting or useful to do in a social setting.", @@ -97,6 +97,16 @@ "user_editable": true, "rules": "required|boolean", "field_type": "text" + }, + { + "name": "Steam App ID", + "description": "", + "env_variable": "SRCDS_APPID", + "default_value": "740250", + "user_viewable": false, + "user_editable": false, + "rules": "required|string|max:20", + "field_type": "text" } ] } \ No newline at end of file