Hi! So this is a simple suggestion. The idea is to allow servers and players to modify all the server settings from a "universe seed" file, which would simply be a zip file containing the configuration files. Each world could use different universe seed file and be switched easily.
Right now people have to edit individual files, like the server config in the installation folder and the blockbehavior.xml file in the data/config folder. To have different configurations running, a person has to have multiple installs of StarMade, each one with it's own set of configurations or a script which swaps out each individual file before running the game, and that script would have to be smart enough to ONLY change individual values, which is somewhat difficult.
So, what would be in this "universe seed" file? Well, initially the universe seed would contain copies of all the config files and would be stamped with the version of StarMade that made it. However, if a server or player only wants to edit certain files, they can remove the files that are unnecessary. The game will simply use the default settings for whatever is not in the universe seed. Also, any values from those individual config files can be removed, with the server using default settings for any setting that is not changed by the universe seed.
For example, let's say a server has a custom server.cfg and they edit jump distances to be 500 in the blockbehavior.xml file. Right now, when the server updates, both these files are reset. If NEW information is added, like race gates and transporter values are added, then the configuration files are also different from the old ones because there are new values. As it is, simply replacing the config and blockbehavior.xml files files with the old ones will corrupt the install. So server admins have to manually change these values EVERY UPDATE. But with a universe seed, the universe seed would be untouched. The values would remain the same, and no edits would be necessary by server admins and players for the server to retain the old values. This is because any new values in the server config files would not need to be included in the universe seed. But if admins want to change these values, they would simply add them to their current universe seed and set different values for them.
Other benefits of a universe seed include:
- The ability to download different configurations for single player and servers.
- The ability to switch to different configurations easily.
Other ideas to add more functionality:
- Allow a universe seed to be obfuscated, so players can mirror the settings of the online server they play on in single player creative mode, but cannot easily just steal the values used by that server.
And that's all folks, thanks for reading.
Right now people have to edit individual files, like the server config in the installation folder and the blockbehavior.xml file in the data/config folder. To have different configurations running, a person has to have multiple installs of StarMade, each one with it's own set of configurations or a script which swaps out each individual file before running the game, and that script would have to be smart enough to ONLY change individual values, which is somewhat difficult.
So, what would be in this "universe seed" file? Well, initially the universe seed would contain copies of all the config files and would be stamped with the version of StarMade that made it. However, if a server or player only wants to edit certain files, they can remove the files that are unnecessary. The game will simply use the default settings for whatever is not in the universe seed. Also, any values from those individual config files can be removed, with the server using default settings for any setting that is not changed by the universe seed.
For example, let's say a server has a custom server.cfg and they edit jump distances to be 500 in the blockbehavior.xml file. Right now, when the server updates, both these files are reset. If NEW information is added, like race gates and transporter values are added, then the configuration files are also different from the old ones because there are new values. As it is, simply replacing the config and blockbehavior.xml files files with the old ones will corrupt the install. So server admins have to manually change these values EVERY UPDATE. But with a universe seed, the universe seed would be untouched. The values would remain the same, and no edits would be necessary by server admins and players for the server to retain the old values. This is because any new values in the server config files would not need to be included in the universe seed. But if admins want to change these values, they would simply add them to their current universe seed and set different values for them.
Other benefits of a universe seed include:
- The ability to download different configurations for single player and servers.
- The ability to switch to different configurations easily.
Other ideas to add more functionality:
- Allow a universe seed to be obfuscated, so players can mirror the settings of the online server they play on in single player creative mode, but cannot easily just steal the values used by that server.
And that's all folks, thanks for reading.