Response Models

from chillet.models import ...

src.chillet.models.ResponseModel

Bases: BaseModel

Response model without strict field handling.

Source code in src/chillet/models.py
23
24
25
26
class ResponseModel(BaseModel):
    """Response model without strict field handling."""

    model_config = ConfigDict(extra="allow", frozen=True)

src.chillet.models.InfoResponse

Bases: ResponseModel

Response type for server info.

Source code in src/chillet/models.py
29
30
31
32
33
34
35
class InfoResponse(ResponseModel):
    """Response type for server info."""

    version: str
    servername: str
    description: str
    worldguid: str

src.chillet.models.Player

Bases: ResponseModel

Source code in src/chillet/models.py
38
39
40
41
42
43
44
45
46
47
class Player(ResponseModel):
    name: str
    accountName: str
    playerId: str
    userId: str
    ip: str
    ping: float
    location_x: float
    location_y: float
    level: int

src.chillet.models.PlayersResponse

Bases: ResponseModel

Response type for the player list.

Source code in src/chillet/models.py
50
51
52
53
class PlayersResponse(ResponseModel):
    """Response type for the player list."""

    players: list[Player]

src.chillet.models.SettingsResponse

Bases: ResponseModel

Response type for the server settings.

Source code in src/chillet/models.py
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
class SettingsResponse(ResponseModel):
    """Response type for the server settings."""

    Difficulty: str
    RandomizerType: str
    RandomizerSeed: str
    bIsRandomizerPalLevelRandom: bool
    DayTimeSpeedRate: float
    NightTimeSpeedRate: float
    ExpRate: float
    PalCaptureRate: float
    PalSpawnNumRate: float
    PalDamageRateAttack: float
    PalDamageRateDefense: float
    PlayerDamageRateAttack: float
    PlayerDamageRateDefense: float
    PlayerStomachDecreaceRate: float
    PlayerStaminaDecreaceRate: float
    PlayerAutoHPRegeneRate: float
    PlayerAutoHpRegeneRateInSleep: float
    PalStomachDecreaceRate: float
    PalStaminaDecreaceRate: float
    PalAutoHPRegeneRate: float
    PalAutoHpRegeneRateInSleep: float
    BuildObjectHpRate: float
    BuildObjectDamageRate: float
    BuildObjectDeteriorationDamageRate: float
    CollectionDropRate: float
    CollectionObjectHpRate: float
    CollectionObjectRespawnSpeedRate: float
    EnemyDropItemRate: float
    DeathPenalty: str
    bEnablePlayerToPlayerDamage: bool
    bEnableFriendlyFire: bool
    bEnableInvaderEnemy: bool
    bActiveUNKO: bool
    bEnableAimAssistPad: bool
    bEnableAimAssistKeyboard: bool
    DropItemMaxNum: int
    DropItemMaxNum_UNKO: int
    BaseCampMaxNum: int
    BaseCampWorkerMaxNum: int
    DropItemAliveMaxHours: int
    bAutoResetGuildNoOnlinePlayers: bool
    AutoResetGuildTimeNoOnlinePlayers: int
    GuildPlayerMaxNum: int
    BaseCampMaxNumInGuild: int
    PalEggDefaultHatchingTime: int
    WorkSpeedRate: float
    autoSaveSpan: int
    bIsMultiplay: bool
    bIsPvP: bool
    bHardcore: bool
    bPalLost: bool
    bCharacterRecreateInHardcore: bool
    bCanPickupOtherGuildDeathPenaltyDrop: bool
    bEnableNonLoginPenalty: bool
    bEnableFastTravel: bool
    bIsStartLocationSelectByMap: bool
    bExistPlayerAfterLogout: bool
    bEnableDefenseOtherGuildPlayer: bool
    bInvisibleOtherGuildBaseCampAreaFX: bool
    bBuildAreaLimit: bool
    ItemWeightRate: float
    CoopPlayerMaxNum: int
    ServerPlayerMaxNum: int
    ServerName: str
    ServerDescription: str
    PublicPort: int
    PublicIP: str
    RCONEnabled: bool
    RCONPort: int
    Region: str
    bUseAuth: bool
    BanListURL: str
    RESTAPIEnabled: bool
    RESTAPIPort: int
    bShowPlayerList: bool
    ChatPostLimitPerMinute: int
    CrossplayPlatforms: list[str]
    bIsUseBackupSaveData: bool
    LogFormatType: str
    SupplyDropSpan: int
    EnablePredatorBossPal: bool
    MaxBuildingLimitNum: int
    ServerReplicatePawnCullDistance: int
    bAllowGlobalPalboxExport: bool
    bAllowGlobalPalboxImport: bool
    EquipmentDurabilityDamageRate: float
    ItemContainerForceMarkDirtyInterval: int
    ItemCorruptionMultiplier: float

src.chillet.models.MetricsResponse

Bases: ResponseModel

Response type for the server metrics.

Source code in src/chillet/models.py
149
150
151
152
153
154
155
156
157
class MetricsResponse(ResponseModel):
    """Response type for the server metrics."""

    serverfps: int
    serverframetime: float
    currentplayernum: int
    maxplayernum: int
    uptime: int
    days: int

Request Models

from chillet.models import ...

src.chillet.models.RequestModel

Bases: BaseModel

Request model with strict field handling.

Source code in src/chillet/models.py
160
161
162
163
class RequestModel(BaseModel):
    """Request model with strict field handling."""

    model_config = ConfigDict(extra="forbid", frozen=True)

src.chillet.models.AnnounceRequest

Bases: RequestModel

Explicit request type for announce operations.

Source code in src/chillet/models.py
166
167
168
169
class AnnounceRequest(RequestModel):
    """Explicit request type for announce operations."""

    message: str

src.chillet.models.KickRequest

Bases: RequestModel

Explicit request type for kick operations.

Source code in src/chillet/models.py
172
173
174
175
176
class KickRequest(RequestModel):
    """Explicit request type for kick operations."""

    userid: str
    message: str | None = None

src.chillet.models.BanRequest

Bases: RequestModel

Explicit request type for ban operations.

Source code in src/chillet/models.py
179
180
181
182
183
class BanRequest(RequestModel):
    """Explicit request type for ban operations."""

    userid: str
    message: str | None = None

src.chillet.models.UnbanRequest

Bases: RequestModel

Explicit request type for unban operations.

Source code in src/chillet/models.py
186
187
188
189
class UnbanRequest(RequestModel):
    """Explicit request type for unban operations."""

    userid: str

src.chillet.models.SaveRequest

Bases: RequestModel

Explicit request type for save operations.

Source code in src/chillet/models.py
192
193
class SaveRequest(RequestModel):
    """Explicit request type for save operations."""

src.chillet.models.ShutdownRequest

Bases: RequestModel

Explicit request type for shutdown operations

Source code in src/chillet/models.py
196
197
198
199
200
class ShutdownRequest(RequestModel):
    """Explicit request type for shutdown operations"""

    waittime: int
    message: str | None = None

src.chillet.models.StopRequest

Bases: RequestModel

Explicit request type for stop operations.

Source code in src/chillet/models.py
203
204
class StopRequest(RequestModel):
    """Explicit request type for stop operations."""