Add Neos VR

This commit is contained in:
Elite Espeon 2023-06-03 11:17:34 -04:00
parent 66ecd8e9f2
commit 065d88be66
5 changed files with 97 additions and 0 deletions

View File

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

View File

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

View File

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

View File

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

View File

@ -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"
}
]
}