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");
                }
            });
        }
Example #2
0
        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);
        }
Example #3
0
 internal void UpdateSerializer(ServerSerializerMode mode)
 {
     Serializer = (mode == ServerSerializerMode.PROTOBUF) ? protoBufSerializer : jsonSerializer;
 }