Repository navigation
feat(workshop): add Steam Workshop downloads for Colony Survival - #5016
Merged
Merged
Conversation
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
Extends the Workshop downloader (#5008, #5009, #5012, #5014) to Colony Survival. Its dedicated server doesn't download Workshop mods itself.
Unlike the other anonymous games, Colony Survival Workshop downloads need a Steam account that owns the game, as with Arma 3 and DayZ. The server itself still downloads anonymously. The default config gets an empty
steamuser/steampass, so server updates stay anonymous unless a login is set for Workshop mods.Install
gamedata/mods/<id>.gamedata/savegames/<world>/worldconfig.json. Without an entry it logsNot loading <mod>; no config entry for world.jqto keep a{"ModName": <name>, "ModVersionLastKnown": "---", "Enabled": true}entry inModConfigEntriesfor each Workshop mod, inworkshopmodsorder.<name>is thenamefrom the mod'smodInfo.json, recorded in the mod's state file.ModName, because the server rewrites them (it drops extra fields and fills inModVersionLastKnown).gamedata/savegames. If there's no world yet (the server has never started), LinuxGSM warns and skips this step.Testing
Live test server, running this branch (tested with the final
jqversion), with a Steam account that owns Colony Survival (workshopmods="3816302400", Light Decor):gamedata/mods/3816302400, withmodname=Light Decorrecorded.worldconfig.jsongot the entry, and the server log showsLoading mod Light Decor 1.0.0. The server then recorded"ModVersionLastKnown":"1.0.0".workshop-updatereported no update and didn't restart the server.workshopmodsremoved the mod and setModConfigEntriesback to[].worldconfig.jsonediting:workshopmods.Relates to #3514.
Type of change
Checklist
developbranch as its base.Documentation
Covered in GameServerManagers/LinuxGSM-Docs#132.