standardize NeosVR

This commit is contained in:
Quinten 2023-06-03 18:52:41 +02:00 committed by GitHub
parent cf17d3eee2
commit 529350f68b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -4,26 +4,26 @@
"version": "PTDL_v2", "version": "PTDL_v2",
"update_url": null "update_url": null
}, },
"exported_at": "2023-06-03T12:21:23-04:00", "exported_at": "2023-06-03T18:51:27+02:00",
"name": "NeosVR", "name": "NeosVR",
"author": "espeon@espeon.dev", "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.", "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, "features": null,
"docker_images": { "docker_images": {
"ghcr.io\/parkervcp\/yolks:mono_latest": "ghcr.io\/parkervcp\/yolks:mono_latest" "Mono": "ghcr.io\/parkervcp\/yolks:mono_latest"
}, },
"file_denylist": [], "file_denylist": [],
"startup": "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": { "config": {
"files": "{}", "files": "{}",
"startup": "{\r\n \"done\": \"World running...\",\r\n \"userInteraction\": []\r\n}", "startup": "{\r\n \"done\": \"World running...\"\r\n}",
"logs": "{}", "logs": "{}",
"stop": "shutdown" "stop": "shutdown"
}, },
"scripts": { "scripts": {
"installation": { "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", "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\/pterodactyl\/installers:debian", "container": "ghcr.io\/parkervcp\/installers:debian",
"entrypoint": "bash" "entrypoint": "bash"
} }
}, },
@ -32,7 +32,7 @@
"name": "Steam Account User", "name": "Steam Account User",
"description": "The username for your Steam account.", "description": "The username for your Steam account.",
"env_variable": "STEAM_USER", "env_variable": "STEAM_USER",
"default_value": "null", "default_value": "",
"user_viewable": true, "user_viewable": true,
"user_editable": true, "user_editable": true,
"rules": "required|string|max:128", "rules": "required|string|max:128",
@ -42,7 +42,7 @@
"name": "Steam Account Password", "name": "Steam Account Password",
"description": "The password for your Steam account.", "description": "The password for your Steam account.",
"env_variable": "STEAM_PASS", "env_variable": "STEAM_PASS",
"default_value": "null", "default_value": "",
"user_viewable": true, "user_viewable": true,
"user_editable": true, "user_editable": true,
"rules": "required|string|max:128", "rules": "required|string|max:128",
@ -52,7 +52,7 @@
"name": "Steam Account Token\/Code", "name": "Steam Account Token\/Code",
"description": "The Steam Guard code or Login Token emailed to you.", "description": "The Steam Guard code or Login Token emailed to you.",
"env_variable": "STEAM_AUTH", "env_variable": "STEAM_AUTH",
"default_value": "0000000", "default_value": "",
"user_viewable": true, "user_viewable": true,
"user_editable": true, "user_editable": true,
"rules": "nullable|string", "rules": "nullable|string",
@ -71,12 +71,32 @@
{ {
"name": "Beta Password", "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.", "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", "env_variable": "SRCDS_BETAPASS",
"default_value": "none", "default_value": "",
"user_viewable": true, "user_viewable": true,
"user_editable": true, "user_editable": true,
"rules": "required|string|max:30", "rules": "required|string|max:30",
"field_type": "text" "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"
} }
] ]
} }