namespace GsConfigTool.Models; public class PalworldServerSettings { // ── Server Info ─────────────────────────────────────────────────────── public string ServerName { get; set; } = "My Palworld Server"; public string ServerDescription { get; set; } = ""; public string AdminPassword { get; set; } = "adminpassword"; public string ServerPassword { get; set; } = ""; public string PublicIP { get; set; } = ""; public int PublicPort { get; set; } = 8211; public int CoopPlayerMaxNum { get; set; } = 4; public int ServerPlayerMaxNum { get; set; } = 32; public string Region { get; set; } = ""; // ── Gameplay ────────────────────────────────────────────────────────── public string Difficulty { get; set; } = "None"; public float DayTimeSpeedRate { get; set; } = 1.0f; public float NightTimeSpeedRate { get; set; } = 1.0f; public float ExpRate { get; set; } = 1.0f; public float PalCaptureRate { get; set; } = 1.0f; public float PalSpawnNumRate { get; set; } = 1.0f; public float EnemyDropItemRate { get; set; } = 1.0f; public string DeathPenalty { get; set; } = "All"; // ── Pal Combat ──────────────────────────────────────────────────────── public float PalDamageRateAttack { get; set; } = 1.0f; public float PalDamageRateDefense { get; set; } = 1.0f; public float PalStomachDecreaseRate { get; set; } = 1.0f; public float PalStaminaDecreaseRate { get; set; } = 1.0f; public float PalAutoHPRegeneRate { get; set; } = 1.0f; public float PalAutoHpRegeneRateInSleep { get; set; } = 1.0f; // ── Player Combat ───────────────────────────────────────────────────── public float PlayerDamageRateAttack { get; set; } = 1.0f; public float PlayerDamageRateDefense { get; set; } = 1.0f; public float PlayerStomachDecreaseRate { get; set; } = 1.0f; public float PlayerStaminaDecreaseRate { get; set; } = 1.0f; public float PlayerAutoHPRegeneRate { get; set; } = 1.0f; public float PlayerAutoHpRegeneRateInSleep { get; set; } = 1.0f; // ── Building ────────────────────────────────────────────────────────── public float BuildObjectDamageRate { get; set; } = 1.0f; public float BuildObjectDeteriorationDamageRate { get; set; } = 1.0f; public int BaseCampMaxNum { get; set; } = 128; public int BaseCampWorkerMaxNum { get; set; } = 15; // ── Collection ──────────────────────────────────────────────────────── public float CollectionDropRate { get; set; } = 1.0f; public float CollectionObjectHpRate { get; set; } = 1.0f; public float CollectionObjectRespawnSpeedRate { get; set; } = 1.0f; // ── PvP / Multiplayer ───────────────────────────────────────────────── public bool bIsPvP { get; set; } = false; public bool bEnablePlayerToPlayerDamage { get; set; } = false; public bool bEnableFriendlyFire { get; set; } = false; public bool bEnableInvaderEnemy { get; set; } = true; public bool bCanPickupOtherGuildDeathPenaltyDrop { get; set; } = false; public bool bEnableDefenseOtherGuildPlayer { get; set; } = false; // ── World ───────────────────────────────────────────────────────────── public bool bEnableFastTravel { get; set; } = true; public bool bIsStartLocationSelectByMap { get; set; } = true; public bool bExistPlayerAfterLogout { get; set; } = false; public bool bEnableNonLoginPenalty { get; set; } = true; public int DropItemMaxNum { get; set; } = 3000; public float DropItemAliveForPlayerTime { get; set; } = 600.0f; public bool bEnableAimAssistPad { get; set; } = true; public bool bEnableAimAssistKeyboard { get; set; } = false; public bool bActiveUNKO { get; set; } = false; // ── RCON / Auth ─────────────────────────────────────────────────────── public bool RCONEnabled { get; set; } = false; public int RCONPort { get; set; } = 25575; public bool bUseAuth { get; set; } = true; public string BanListURL { get; set; } = "https://api.palworldgame.com/api/banlist.txt"; }