NorthstarMods
NorthstarMods copied to clipboard
Proposal: Change `Northstar.CustomServers` to `Northstar.Core`
What?
- Rename
Northstar.CustomServers
to something likeNorthstar.Core
- Move all mod API stuff out of
Northstar.Custom
and intoNorthstar.Core
- Potentially move some UI changes (mod settings, mod menu) out of
Northstar.Client
intoNorthstar.Core
Why?
TLDR: consolidating scripts and allowing for better vanilla compatibility.
There is too much overlap between Northstar.Custom
and Northstar.CustomServers
. For example, Safe I/O is in Northstar.Custom
because it is, well, custom. However, an argument could also be made that it should be in Northstar.CustomServers
because it is providing a modding API, not custom content. Being in Northstar.Custom
also means that it doesn't work for things like vanilla compatibility as Northstar.Custom
is RequiredOnClient
.
Also, Northstar.Client
contains modding API things such as mod settings, and the mods menu. Without these, a lot of mods break and in the case of the mods menu, users cannot enable/disable mods.
What would this look like?
-
Northstar.Client
: Client and UI changes that are used to access things like the server browser, authenticating with Atlas, etc. -
Northstar.Custom
: Strictly custom content, such as gamemodes. -
Northstar.Core
: All modding API, custom server stuff, and basic mod UI functionality (mods menu)
Only Northstar.Core
would be considered a "core" mod. Disabling Northstar.Client
and Northstar.Custom
would be a perfectly viable way of playing on vanilla servers (assuming we deal with the server command restriction stuff)
EDIT: oh yeah so this will cause issues btw if mod managers or people don't delete old files :)
I think this would be a good change. The line between Custom and CustomServers has always been blurry and this would definitely shift Northstar.Custom to a more "approved mods" role to decouple it from CustomServers.
Moving modding API from Client to Core seems reasonable as well, but I haven't worked with Client much.
Moving modding API from Client to Core seems reasonable as well, but I haven't worked with Client much.
Honestly this bit is like a side-thing, I'm not too fussed about it compared to the Northstar.CustomServers
thing
would definitely shift Northstar.Custom to a more "approved mods" role
I think ideally (when mod autodownload) Northstar.Custom
should be like, a vetted collection of modded content that is like an "authentic" Northstar experience. Playing without Northstar.Custom
would be as close to a vanilla experience as possible (but with server browser and such)
I wouldn't mind a little clean-up :eyes:
~~Though, given that we cannot really remove files on manual install and mod-manager install, I'd say this is blocked at the very least until I have removing old mods folder before installing new one when doing Northstar update added to FlightCore.~~ ~~(it's on my TODO list)~~
~~Even then this does not capture VTOL and Viper users.~~ ~~As such I would also suggest adding the old mods to blacklist to ensure maximum compatibility.~~
EDIT: FlightCore, VTOL, Viper, all support removing core mod files now :D
Also I think when this discussion previously happened, the idea was to split up Northstar.CustomServer
into Northstar.Server
and Northstar.CustomServer
where
-
Northstar.Server
had the content for hosting "vanilla" servers -
Northstar.CustomServer
had the content for hosting Northstar-like servers
Though, given that we cannot really remove files on manual install and mod-manager install, I'd dsy this is blocked at the very least until I have removing old mods folder before installing new one when doing Northstar update added to FlightCore.
Yeah that's like the main problem that I'm facing here I think. It would be a lot of removed files from places like Northstar.Custom
which could cause issues if we then update those files in their new locations.
Also I think when this discussion previously happened, the idea was to split up
Northstar.CustomServer
intoNorthstar.Server
andNorthstar.CustomServer
I think that this just causes more issues, we would end up with even more duplicated scripts and nuisances across the mods.
Also, a "Northstar-like" server without other mods such as Northstar.Custom
is just a "vanilla" server already? I don't think we need to make a distinction like that by splitting it up
I think separating between pure core client and server mods was a mistake since a lot of things are required on both the Client and Server to avoid desync and the like.
And I do agree with Spoon that a Northstar.Server "Vanilla"-like server mod does not make any sense. Other than that I'm too tired rn to think
I'm not 100% sure any more cause it's been a while but basically the idea behind the Northstar.Server
and Northstar.CustomServer
split was that Northstar.CustomServer
would be the server-only equivalent to Northstar.Custom
.
A "vanilla" server is defined as a server that a vanilla client can connect to by running connect <server-ip>
, e.g. via binding that command to a keybind. Allowing players that don't have Northstar installed to still join self-hosted servers.
In order to preserve the vanilla experience alive past an eventual shut-down of vanilla servers @BobTheBob9 put quite a lot of importance on maintaining vanilla compat.
While I agree that this is pretty important, I don't think it warrants a split in scripts. We have control over preprocessor stuff these days, so a "vanilla" server mode could in theory just be a toggle
Forgot to mention here that FlightCore, Viper, VTOL, all support removing old core script files now :D