protected override void Execute(CallArgs args) { ServerSerializerMode serializerMode = args.Get <ServerSerializerMode>(0); serverConfig.Update(c => { if (serializerMode != c.SerializerMode) { c.SerializerMode = serializerMode; worldPersistence.UpdateSerializer(serializerMode); SendMessage(args.Sender, $"Server save format swapped to {c.SerializerMode}"); } else { SendMessage(args.Sender, "Server is already using this save format"); } }); }
public ServerConfig(int port, int saveinterval, int maxconnection, bool disableconsole, bool disableautosave, string savename, string serverpassword, string adminpassword, ServerGameMode gamemode, ServerSerializerMode serverserializermode) { portSetting = new ServerConfigItem <int>("Port", port); saveIntervalSetting = new ServerConfigItem <int>("SaveInterval", saveinterval); maxConnectionsSetting = new ServerConfigItem <int>("MaxConnections", maxconnection); disableConsoleSetting = new ServerConfigItem <bool>("DisableConsole", disableconsole); disableAutoSaveSetting = new ServerConfigItem <bool>("DisableAutoSave", disableautosave); saveNameSetting = new ServerConfigItem <string>("SaveName", savename); serverPasswordSetting = new ServerConfigItem <string>("ServerPassword", serverpassword); adminPasswordSetting = new ServerConfigItem <string>("AdminPassword", adminpassword); gameModeSetting = new ServerConfigItem <ServerGameMode>("GameMode", gamemode); serverSerializerMode = new ServerConfigItem <string>("ServerSerializerMode", serverserializermode.ToString()); //We don't want to custom those values for now oxygenSetting = new ServerConfigItem <float>("StartOxygen", 45); maxOxygenSetting = new ServerConfigItem <float>("StartMaxOxygen", 45); healthSetting = new ServerConfigItem <float>("StartHealth", 80); foodSetting = new ServerConfigItem <float>("StartFood", 50.5f); waterSetting = new ServerConfigItem <float>("StartWater", 90.5f); infectionSetting = new ServerConfigItem <float>("StartInfection", 0); }
internal void UpdateSerializer(ServerSerializerMode mode) { Serializer = (mode == ServerSerializerMode.PROTOBUF) ? protoBufSerializer : jsonSerializer; }