protected override void LoadData(IniFile ini) {
var section = ini["SERVER"];
Name = section.GetPossiblyEmpty("NAME");
Password = section.GetNonEmpty("PASSWORD");
AdminPassword = section.GetNonEmpty("ADMIN_PASSWORD");
ShowOnLobby = section.GetBool("REGISTER_TO_LOBBY", true);
LoopMode = section.GetBool("LOOP_MODE", true);
PickupMode = section.GetBool("PICKUP_MODE_ENABLED", false);
Capacity = section.GetInt("MAX_CLIENTS", 3);
UdpPort = section.GetInt("UDP_PORT", 9600);
TcpPort = section.GetInt("TCP_PORT", 9600);
HttpPort = section.GetInt("HTTP_PORT", 8081);
SendIntervalHz = section.GetInt("CLIENT_SEND_INTERVAL_HZ", 18);
Threads = section.GetInt("NUM_THREADS", 2);
TrackId = section.GetNonEmpty("TRACK");
TrackLayoutId = section.GetNonEmpty("CONFIG_TRACK");
CarIds = section.GetStrings("CARS", ';');
Abs = section.GetIntEnum("ABS_ALLOWED", ServerPresetAssistState.Factory);
TractionControl = section.GetIntEnum("TC_ALLOWED", ServerPresetAssistState.Factory);
StabilityControl = section.GetBool("STABILITY_ALLOWED", false);
AutoClutch = section.GetBool("AUTOCLUTCH_ALLOWED", false);
TyreBlankets = section.GetBool("TYRE_BLANKETS_ALLOWED", false);
ForceVirtualMirror = section.GetBool("FORCE_VIRTUAL_MIRROR", true);
FuelRate = section.GetInt("FUEL_RATE", 100);
DamageRate = section.GetInt("DAMAGE_MULTIPLIER", 100);
TyreWearRate = section.GetInt("TYRE_WEAR_RATE", 100);
AllowTyresOut = section.GetInt("ALLOWED_TYRES_OUT", 2);
MaxBallast = section.GetInt("MAX_BALLAST_KG", 0);
QualifyLimitPercentage = section.GetInt("QUALIFY_MAX_WAIT_PERC", 120);
JumpStart = section.GetIntEnum("START_RULE", ServerPresetJumpStart.CarLocked);
}