Subnautica Nitrox: Update to Nitrox 1.8.x#553
Open
norto22 wants to merge 1 commit into
Open
Conversation
- Startup uses the renamed Nitrox.Server.Subnautica binary and --data-path; game install is located via SUBNAUTICA_INSTALLATION_PATH. - Install script no longer flattens the Nitrox release zip (which destroyed Resources/classdata.tpk in 1.8.x), seeds the real server.cfg under NitroxData/saves/nitrox_world/, and orders SteamCMD args so +force_install_dir actually takes effect. - Pterodactyl now manages MaxConnections, DefaultPlayerPerm and DisableConsole alongside the existing config keys. SAVE_NAME is locked to nitrox_world because wings does not template variables inside config.files paths. - Stop command switched from 'stop' to ^C so .NET Generic Host triggers a graceful shutdown; Nitrox's in-game console handler doesn't read Pterodactyl's TTY stdin in 1.8.x. - Indexed in the root README; obsolete XDG_CONFIG_HOME and SUBNAUTICA_INSTALLATION_PATH variables removed. Resolves pterodactyl#319, pterodactyl#461, pterodactyl#551. Supersedes pterodactyl#445.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Updates the Subnautica Nitrox egg for Nitrox 1.8.x compatibility. Resolves three open issues and supersedes one open PR.
Closes #319
Closes #461
Closes #551
Supersedes #445 (binary rename only — covered here as part of a broader fix).
Issue breakdown:
What changed
Startup
Nitrox.Server.Subnautica(wasNitroxServer-Subnautica).SUBNAUTICA_INSTALLATION_PATHenv var;--data-pathand--savepassed explicitly.--game-pathis not used because Nitrox 1.8.x'sConfigurationKeyName-based CLI binding doesn't honor it viaConfiguration.Bind.stopto^C. Nitrox 1.8.x'sConsoleInputServicedoes not process Pterodactyl's TTY stdin, so the stringstopwas silently dropped; SIGINT is caught by .NET Generic Host for a clean save + shutdown.Install script
FIRST_DIRflattening block — it destroyed theResources/directory in Nitrox 1.8.x's flat-zip layout (root cause ofclassdata.tpkmissing reports in [Subnautica] Issue #551).NitroxData/saves/nitrox_world/server.cfgso the Pterodactyl config parser has a file to update on every start.{ echo; …; } > fileblock to avoid textarea-mangledEOTterminators.Config & variables
config.filespath corrected toNitroxData/saves/nitrox_world/server.cfg(the file Nitrox actually reads in 1.8.x).MAX_CONNECTIONS,DEFAULT_PERMISSION,DISABLE_CONSOLEpanel-managed keys.SUBNAUTICA_INSTALLATION_PATHandXDG_CONFIG_HOMEvariables (paths now handled in the startup command directly).SAVE_NAMElocked tonitrox_world(User Editable off) because wings does not template variables insideconfig.fileskeys, letting users change it would silently break panel-managed config.Docs
Testing
/home/container/subnautica/; Nitrox extracts withResources/classdata.tpkintact.Known limitation (documented in per-egg README)
Nitrox 1.8.x's
ConsoleInputServiceearly-exits whenConsole.IsInputRedirectedis true, and otherwise usesConsole.KeyAvailable/Console.ReadKeywhich requires raw-mode TTY behavior Pterodactyl Wings doesn't currently provide. Net effect: in-game console commands typed into the panel web console don't reach Nitrox. The server itself runs fine and admin commands work in-game. A yolks-level wrapper has been discussed in #319; until that lands, this is upstream Nitrox.Checklist for all submissions
Have you followed the guidelines in our Contributing document?
Have you checked to ensure there aren't other open Pull Requests for the same update/change?
Have you tested and reviewed your changes with confidence that everything works?
Did you branch your changes and PR from that branch and not from your master branch?
You verify that the start command applied does not use a shell script
The egg was exported from the panel