Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Neosvr beta headless client/server #1173

Closed
wants to merge 2 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
12 changes: 12 additions & 0 deletions steamcmd_servers/neosvr/README.md
@@ -0,0 +1,12 @@
# Neos vr headless client / server beta
## 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 an alt steam account with steam guard disabled. 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 too configuration go here: https://wiki.neos.com/Headless_Client/Server

This game does not require any port forwarding but instead uses udp whole punching on a random port. You can force a certain port in the config. I was using host networking so I didn't have any problems with this.


59 changes: 59 additions & 0 deletions steamcmd_servers/neosvr/egg-neos-vr-headless-client.json
@@ -0,0 +1,59 @@
{
"_comment": "Egg for neos vr headless client/server",
"meta": {
"version": "PTDL_v1",
"update_url": null
},
"exported_at": "2021-06-08T09:15:41-04:00",
"name": "NeosVR Headless Client",
"author": "synk@nasulex.net",
"description": "Headless client for NeosVR.",
"features": null,
"images": [
"nasulex\/neos:latest"
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why does this require a custom image? Are you sure the existing images are not enough? If so, you should PR the changes to the image repository.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It seems like I would need my own image because it crashes on the mono core one so I guess ill do that then + the entry point doesnt run steamcmd so I can have it do that too

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

pterodactyl/images#79 just put it in here

],
"file_denylist": [],
"startup": ".\/RunHeadlessMono.sh",
"config": {
"files": "{}",
"startup": "{\r\n \"done\": \"World running...\",\r\n \"userInteraction\": []\r\n}",
"logs": "{}",
"stop": "^C"
},
"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 'ubuntu:20.04'\r\napt -y update\r\napt -y --no-install-recommends install curl lib32gcc1 ca-certificates\r\n\r\n## just in case someone removed the defaults.\r\nif [ \"${STEAM_USER}\" == \"\" ]; 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\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\nmkdir steamapps\r\n## install game using steamcmd\r\n.\/steamcmd.sh +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} $( [[ \"${WINDOWS_INSTALL}\" == \"1\" ]] && printf %s '+@sSteamCmdForcePlatformType windows' ) +force_install_dir \/mnt\/server +app_update 740250 -beta headless-client -betapassword ${BETA_CODE} ${EXTRA_FLAGS} validate +quit \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",
"container": "debian:buster-slim",
"entrypoint": "bash"
}
},
"variables": [
{
"name": "BetaCode",
"description": "",
"env_variable": "BETA_CODE",
"default_value": "",
"user_viewable": true,
"user_editable": false,
"rules": "required|string|max:30"
},
{
"name": "Steam User",
"description": "",
"env_variable": "STEAM_USER",
"default_value": "anonymous",
"user_viewable": false,
"user_editable": false,
"rules": "required|string|max:30"
},
{
"name": "Steam password",
"description": "",
"env_variable": "STEAM_PASS",
"default_value": "",
"user_viewable": false,
"user_editable": false,
"rules": "string|max:100"
}
]
}