PatchBukkit/proto/patchbukkit/server.proto
Alexander Medvedev 76244747ed more additions
2026-08-25 14:24:45 +02:00

163 lines
3.1 KiB
Protocol Buffer

syntax = "proto3";
package patchbukkit.server;
import "google/protobuf/empty.proto";
import "patchbukkit/common/types.proto";
option java_multiple_files = true;
option java_package = "patchbukkit.server";
message ServerInfoResponse {
string server_name = 1;
string version = 2;
string bukkit_version = 3;
string minecraft_version = 4;
string motd = 5;
string ip = 6;
int32 port = 7;
int32 max_players = 8;
int32 view_distance = 9;
int32 simulation_distance = 10;
bool allow_flight = 11;
bool allow_nether = 12;
bool allow_end = 13;
bool online_mode = 14;
bool hardcore = 15;
bool pvp = 16;
bool has_whitelist = 17;
bool is_whitelist_enforced = 18;
int32 spawn_protection = 19;
string default_gamemode = 20;
int32 idle_timeout = 21;
bool generate_structures = 22;
int32 max_world_size = 23;
}
message SetServerMotdRequest {
string motd = 1;
}
message SetServerMaxPlayersRequest {
int32 max_players = 1;
}
message SetServerWhitelistRequest {
bool enabled = 1;
}
message SetServerWhitelistEnforcedRequest {
bool enforced = 1;
}
message SetServerIdleTimeoutRequest {
int32 timeout_minutes = 1;
}
message SetServerDefaultGamemodeRequest {
string gamemode = 1;
}
message ServerTickInfoResponse {
repeated double tps = 1;
float tick_rate = 2;
bool is_frozen = 3;
bool is_sprinting = 4;
bool is_stepping = 5;
double average_tick_time = 6;
int64 tick_count = 7;
repeated int64 tick_times_nanos = 8;
}
message SetServerTickRateRequest {
float tick_rate = 1;
bool frozen = 2;
}
message ShutdownServerRequest {
bool save = 1;
string message = 2;
}
message BroadcastMessageRequest {
string message = 1;
string permission = 2;
}
message WhitelistEntryProto {
patchbukkit.common.UUID uuid = 1;
string name = 2;
}
message GetWhitelistResponse {
repeated WhitelistEntryProto players = 1;
}
message SetWhitelistPlayerRequest {
patchbukkit.common.UUID uuid = 1;
string name = 2;
bool whitelisted = 3;
}
message OperatorEntryProto {
patchbukkit.common.UUID uuid = 1;
string name = 2;
int32 level = 3;
bool bypasses_player_limit = 4;
}
message GetOperatorsResponse {
repeated OperatorEntryProto operators = 1;
}
message SetOperatorRequest {
patchbukkit.common.UUID uuid = 1;
string name = 2;
int32 level = 3;
bool is_op = 4;
}
message BanEntryProto {
string target = 1;
string source = 2;
int64 created = 3;
int64 expires = 4;
string reason = 5;
}
message GetBanListRequest {
string ban_type = 1; // "NAME" or "IP" or "PROFILE"
}
message GetBanListResponse {
repeated BanEntryProto entries = 1;
}
message SetBanEntryRequest {
string ban_type = 1; // "NAME" or "IP" or "PROFILE"
BanEntryProto entry = 2;
bool remove = 3;
}
message CreateWorldRequest {
string name = 1;
string dimension = 2; // "minecraft:overworld", "minecraft:the_nether", "minecraft:the_end"
int64 seed = 3;
}
message CreateWorldResponse {
patchbukkit.common.UUID world_uuid = 1;
string name = 2;
bool success = 3;
}
message UnloadWorldRequest {
patchbukkit.common.UUID world_uuid = 1;
string world_name = 2;
bool save = 3;
}
message UnloadWorldResponse {
bool success = 1;
}