Merge pull request #2289 from elitetheespeon/neosvr

Add Neos VR
This commit is contained in:
Michael (Parker) Parker 2023-07-20 09:07:06 -04:00 committed by GitHub
commit c2b109af6e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 175 additions and 0 deletions

View File

@ -261,6 +261,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)
* [No One Survived](game_eggs/steamcmd_servers/no_one_survived)
* [Onset](game_eggs/steamcmd_servers/onset)

View File

@ -158,6 +158,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)
* [No One Survived](steamcmd_servers/no_one_survived)
* [Onset](steamcmd_servers/onset)

View File

@ -130,6 +130,9 @@ This is a collection of servers that use SteamCMD to install.
[Mordhau](mordhau)
## Neos VR
[Neos VR](neosvr)
## No More Room in Hell
[No More Room in Hell](nmrih)

View File

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

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

View File

@ -0,0 +1,112 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v2",
"update_url": null
},
"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.",
"features": null,
"docker_images": {
"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}",
"logs": "{}",
"stop": "shutdown"
},
"scripts": {
"installation": {
"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"
}
},
"variables": [
{
"name": "Steam Account User",
"description": "The username for your Steam account.",
"env_variable": "STEAM_USER",
"default_value": "",
"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": "",
"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": "",
"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": "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"
},
{
"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"
}
]
}