Universe Seed - Easy Server Configuration

    Benevolent27

    Join the Dark Side
    Joined
    Aug 21, 2015
    Messages
    585
    Reaction score
    327
    • Purchased!
    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. :)
     

    NeonSturm

    StormMaker
    Joined
    Dec 31, 2013
    Messages
    5,110
    Reaction score
    617
    • Wired for Logic
    • Thinking Positive
    • Legacy Citizen 5
    There could be 2 folders:
    • System-folder
    • User-folder
    Everything inside the User-folder partially hides the System-folder.

    I see little difference from a file that is in system but not user and a config value that is in system but not the user-data.
    The little difference I see is how a program checks for the default if it can't find a value.

    But there also needs to be a way to remove an entry or a domain/group/hierarchical-tree-element completely without removing every entry in it (example: default-blueprints for pirate ships).