update config
This commit is contained in:
parent
d26b7e94ff
commit
091c33d073
@ -35,15 +35,22 @@ export const en = defineConfig({
|
|||||||
items: [
|
items: [
|
||||||
{ text: "Introduction", link: "/config/introduction" },
|
{ text: "Introduction", link: "/config/introduction" },
|
||||||
{ text: "Basic", link: "/config/basic" },
|
{ text: "Basic", link: "/config/basic" },
|
||||||
|
{ text: "World", link: "/config/world" },
|
||||||
|
{ text: "Chat & Anti-Spam", link: "/config/chat" },
|
||||||
|
{ text: "Commands", link: "/config/commands" },
|
||||||
|
{ text: "Bedrock & NetherNet", link: "/config/bedrock" },
|
||||||
{ text: "Proxy", link: "/config/proxy" },
|
{ text: "Proxy", link: "/config/proxy" },
|
||||||
{ text: "Authentication", link: "/config/authentication" },
|
{ text: "Authentication", link: "/config/authentication" },
|
||||||
|
{ text: "Packet Limiter", link: "/config/packet-limiter" },
|
||||||
{ text: "Compression", link: "/config/compression" },
|
{ text: "Compression", link: "/config/compression" },
|
||||||
{ text: "Resource Pack", link: "/config/resource-pack" },
|
{ text: "Resource Pack", link: "/config/resource-pack" },
|
||||||
{ text: "Commands", link: "/config/commands" },
|
{ text: "Plugins", link: "/config/plugins" },
|
||||||
{ text: "RCON", link: "/config/rcon" },
|
{ text: "Server Links", link: "/config/server-links" },
|
||||||
{ text: "PVP", link: "/config/pvp" },
|
{ text: "Player Data", link: "/config/player-data" },
|
||||||
{ text: "Logging", link: "/config/logging" },
|
{ text: "Logging", link: "/config/logging" },
|
||||||
{ text: "Query", link: "/config/query" },
|
{ text: "Query", link: "/config/query" },
|
||||||
|
{ text: "RCON", link: "/config/rcon" },
|
||||||
|
{ text: "PVP", link: "/config/pvp" },
|
||||||
{ text: "LAN Broadcast", link: "/config/lan-broadcast" },
|
{ text: "LAN Broadcast", link: "/config/lan-broadcast" },
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
|||||||
@ -9,7 +9,7 @@ Die Adresse, an die der Server gebunden wird.
|
|||||||
:::code-group
|
:::code-group
|
||||||
|
|
||||||
```toml
|
```toml
|
||||||
seed = "1785537519969227430"
|
seed = "1790155153199293024"
|
||||||
default_difficulty = "Normal"
|
default_difficulty = "Normal"
|
||||||
op_permission_level = 4
|
op_permission_level = 4
|
||||||
allow_nether = true
|
allow_nether = true
|
||||||
@ -27,9 +27,13 @@ enforce_whitelist = false
|
|||||||
|
|
||||||
[logging]
|
[logging]
|
||||||
enabled = true
|
enabled = true
|
||||||
threads = true
|
level = "info"
|
||||||
|
threads = false
|
||||||
|
thread_ids = false
|
||||||
|
target = false
|
||||||
color = true
|
color = true
|
||||||
timestamp = true
|
timestamp = true
|
||||||
|
timestamp_format = "[hour]:[minute]:[second]"
|
||||||
file = "latest.log"
|
file = "latest.log"
|
||||||
|
|
||||||
[resource_pack.java]
|
[resource_pack.java]
|
||||||
@ -46,7 +50,7 @@ packs = []
|
|||||||
|
|
||||||
[world]
|
[world]
|
||||||
lighting = "default"
|
lighting = "default"
|
||||||
autosave_ticks = 0
|
autosave_ticks = 6000
|
||||||
|
|
||||||
[world.chunk]
|
[world.chunk]
|
||||||
type = "anvil"
|
type = "anvil"
|
||||||
@ -57,7 +61,7 @@ algorithm = "LZ4"
|
|||||||
level = 6
|
level = 6
|
||||||
|
|
||||||
[networking.query]
|
[networking.query]
|
||||||
enabled = true
|
enabled = false
|
||||||
address = "0.0.0.0:25565"
|
address = "0.0.0.0:25565"
|
||||||
|
|
||||||
[networking.rcon]
|
[networking.rcon]
|
||||||
@ -81,6 +85,7 @@ secret = ""
|
|||||||
|
|
||||||
[networking.proxy.bungeecord]
|
[networking.proxy.bungeecord]
|
||||||
enabled = false
|
enabled = false
|
||||||
|
secret = ""
|
||||||
|
|
||||||
[networking.lan_broadcast]
|
[networking.lan_broadcast]
|
||||||
enabled = false
|
enabled = false
|
||||||
@ -93,6 +98,7 @@ online_mode = true
|
|||||||
max_players = 1000
|
max_players = 1000
|
||||||
view_distance = 16
|
view_distance = 16
|
||||||
simulation_distance = 10
|
simulation_distance = 10
|
||||||
|
keep_alive_time = 15
|
||||||
motd = "A blazingly fast Pumpkin server!"
|
motd = "A blazingly fast Pumpkin server!"
|
||||||
|
|
||||||
[networking.java.compression]
|
[networking.java.compression]
|
||||||
@ -102,6 +108,9 @@ level = 4
|
|||||||
|
|
||||||
[networking.java.authentication]
|
[networking.java.authentication]
|
||||||
enabled = true
|
enabled = true
|
||||||
|
fallbacks = []
|
||||||
|
profile_by_name_fallbacks = []
|
||||||
|
profile_by_uuid_fallbacks = []
|
||||||
connect_timeout = 5000
|
connect_timeout = 5000
|
||||||
read_timeout = 5000
|
read_timeout = 5000
|
||||||
prevent_proxy_connections = false
|
prevent_proxy_connections = false
|
||||||
@ -120,15 +129,22 @@ skin = true
|
|||||||
cape = true
|
cape = true
|
||||||
elytra = true
|
elytra = true
|
||||||
|
|
||||||
|
[networking.java.packet_limiter]
|
||||||
|
enabled = true
|
||||||
|
max_packet_rate = 500.0
|
||||||
|
burst_capacity = 500.0
|
||||||
|
kick_message = "Kicked for spamming packets"
|
||||||
|
|
||||||
[networking.bedrock]
|
[networking.bedrock]
|
||||||
enabled = true
|
enabled = true
|
||||||
address = "0.0.0.0:19132"
|
|
||||||
encryption = true
|
|
||||||
online_mode = true
|
online_mode = true
|
||||||
max_players = 1000
|
max_players = 1000
|
||||||
view_distance = 16
|
view_distance = 16
|
||||||
simulation_distance = 10
|
simulation_distance = 10
|
||||||
motd = "A blazingly fast Pumpkin server!"
|
motd = "A blazingly fast Pumpkin server!"
|
||||||
|
username_prefix = ""
|
||||||
|
replace_username_spaces = true
|
||||||
|
chunk_caching = true
|
||||||
|
|
||||||
[networking.bedrock.compression]
|
[networking.bedrock.compression]
|
||||||
enabled = true
|
enabled = true
|
||||||
@ -140,6 +156,18 @@ enabled = true
|
|||||||
connect_timeout = 5000
|
connect_timeout = 5000
|
||||||
read_timeout = 5000
|
read_timeout = 5000
|
||||||
|
|
||||||
|
[networking.bedrock.nethernet]
|
||||||
|
enabled = true
|
||||||
|
address = "0.0.0.0:19132"
|
||||||
|
identity_key = "nethernet-key.der"
|
||||||
|
stun_servers = []
|
||||||
|
|
||||||
|
[networking.bedrock.packet_limiter]
|
||||||
|
enabled = true
|
||||||
|
max_packet_rate = 500.0
|
||||||
|
burst_capacity = 500.0
|
||||||
|
kick_message = "Kicked for spamming packets"
|
||||||
|
|
||||||
[commands]
|
[commands]
|
||||||
use_console = true
|
use_console = true
|
||||||
use_tty = true
|
use_tty = true
|
||||||
@ -147,9 +175,18 @@ log_console = true
|
|||||||
broadcast_console_to_ops = true
|
broadcast_console_to_ops = true
|
||||||
default_op_level = 0
|
default_op_level = 0
|
||||||
|
|
||||||
|
[commands.overrides]
|
||||||
|
|
||||||
[chat]
|
[chat]
|
||||||
format = "<{DISPLAYNAME}> {MESSAGE}"
|
format = "<{DISPLAYNAME}> {MESSAGE}"
|
||||||
|
|
||||||
|
[chat.anti_spam]
|
||||||
|
enabled = true
|
||||||
|
spam_threshold = 200
|
||||||
|
message_cost = 20
|
||||||
|
decay_per_tick = 1
|
||||||
|
ops_bypass = true
|
||||||
|
|
||||||
[pvp]
|
[pvp]
|
||||||
enabled = true
|
enabled = true
|
||||||
hurt_animation = true
|
hurt_animation = true
|
||||||
@ -182,7 +219,17 @@ april_fools = true
|
|||||||
send_recipes = true
|
send_recipes = true
|
||||||
|
|
||||||
[plugins]
|
[plugins]
|
||||||
|
enabled = true
|
||||||
|
hot_reload = false
|
||||||
|
ask_permission_confirmation = true
|
||||||
|
allow_unsigned = true
|
||||||
|
allowed_permissions = []
|
||||||
blocked_permissions = []
|
blocked_permissions = []
|
||||||
|
inherit_env = false
|
||||||
|
loopback_only = false
|
||||||
|
verify_signatures = true
|
||||||
|
|
||||||
|
[plugins.overrides]
|
||||||
|
|
||||||
[advancement]
|
[advancement]
|
||||||
save_advancements = true
|
save_advancements = true
|
||||||
|
|||||||
@ -9,6 +9,9 @@ Pumpkin verifies accounts with Mojang's session servers to ensure players use le
|
|||||||
```toml [pumpkin.toml]
|
```toml [pumpkin.toml]
|
||||||
[networking.java.authentication]
|
[networking.java.authentication]
|
||||||
enabled = true
|
enabled = true
|
||||||
|
fallbacks = []
|
||||||
|
profile_by_name_fallbacks = []
|
||||||
|
profile_by_uuid_fallbacks = []
|
||||||
connect_timeout = 5000
|
connect_timeout = 5000
|
||||||
read_timeout = 5000
|
read_timeout = 5000
|
||||||
prevent_proxy_connections = false
|
prevent_proxy_connections = false
|
||||||
@ -32,24 +35,32 @@ elytra = true
|
|||||||
|
|
||||||
### Configuration Options
|
### Configuration Options
|
||||||
|
|
||||||
- **`enabled`**: Enables online authentication for Java clients.
|
- **`enabled`**: Enables online authentication for Java clients (default: `true`).
|
||||||
- **`connect_timeout`**: Connection timeout in milliseconds when contacting auth servers.
|
- **`url`**: (Optional) Custom authentication URL to verify join requests (e.g., custom auth servers like Drasl). Supports `{username}` and `{server_hash}` parameters.
|
||||||
- **`read_timeout`**: Read timeout in milliseconds when contacting auth servers.
|
- **`fallbacks`**: List of fallback authentication URLs contacted if the primary/official session server is unreachable.
|
||||||
- **`prevent_proxy_connections`**: Block proxy/VPN connections during authentication.
|
- **`profile_by_name_url`**: (Optional) Custom URL template to fetch player profiles by username (`{username}`).
|
||||||
|
- **`profile_by_name_fallbacks`**: Fallback URLs for looking up player profiles by username.
|
||||||
|
- **`profile_by_uuid_url`**: (Optional) Custom URL template to fetch player profiles by UUID (`{uuid}`).
|
||||||
|
- **`profile_by_uuid_fallbacks`**: Fallback URLs for looking up player profiles by UUID.
|
||||||
|
- **`connect_timeout`**: Connection timeout in milliseconds when contacting authentication servers (default: `5000`).
|
||||||
|
- **`read_timeout`**: Read timeout in milliseconds when contacting authentication servers (default: `5000`).
|
||||||
|
- **`prevent_proxy_connections`**: Whether to block connections coming from proxies or VPNs during Mojang authentication (default: `false`).
|
||||||
|
- **`prevent_proxy_connection_auth_url`**: (Optional) Custom authentication endpoint used specifically when proxy prevention is enabled.
|
||||||
|
- **`services_url`**: (Optional) Public Minecraft services URL (used for player certificates and keys).
|
||||||
|
|
||||||
### Player Profile Settings
|
### Player Profile Settings
|
||||||
|
|
||||||
- **`allow_banned_players`**: Allow players flagged/banned by Mojang to connect.
|
- **`allow_banned_players`**: Whether to allow players flagged or banned by Mojang to connect (default: `false`).
|
||||||
- **`allowed_actions`**: Allowed actions when banned players connect (`"FORCED_NAME_CHANGE"`, `"USING_BANNED_SKIN"`).
|
- **`allowed_actions`**: Profile actions permitted when flagged players connect (e.g. `["FORCED_NAME_CHANGE", "USING_BANNED_SKIN"]`).
|
||||||
|
|
||||||
### Textures Settings
|
### Textures Settings
|
||||||
|
|
||||||
- **`enabled`**: Enables player texture validation (skins, capes, elytras).
|
- **`enabled`**: Enables fetching and validating player skins, capes, and elytra textures (default: `true`).
|
||||||
- **`allowed_url_schemes`**: URL schemes permitted for texture downloads (`["http", "https"]`).
|
- **`allowed_url_schemes`**: URL schemes permitted for texture downloads (default: `["http", "https"]`).
|
||||||
- **`allowed_url_domains`**: Domains permitted for texture downloads (`[".minecraft.net", ".mojang.com"]`).
|
- **`allowed_url_domains`**: Domains permitted for texture downloads (default: `[".minecraft.net", ".mojang.com"]`).
|
||||||
- **`types.skin`**: Enable custom skins.
|
- **`types.skin`**: Enable custom player skins (default: `true`).
|
||||||
- **`types.cape`**: Enable capes.
|
- **`types.cape`**: Enable player capes (default: `true`).
|
||||||
- **`types.elytra`**: Enable elytra textures.
|
- **`types.elytra`**: Enable player elytra textures (default: `true`).
|
||||||
|
|
||||||
## Bedrock Edition Authentication
|
## Bedrock Edition Authentication
|
||||||
|
|
||||||
@ -63,3 +74,10 @@ read_timeout = 5000
|
|||||||
```
|
```
|
||||||
|
|
||||||
:::
|
:::
|
||||||
|
|
||||||
|
### Configuration Options
|
||||||
|
|
||||||
|
- **`enabled`**: Whether Xbox Live authentication is required for Bedrock clients (default: `true`).
|
||||||
|
- **`url`**: (Optional) Custom authentication or discovery endpoint URL.
|
||||||
|
- **`connect_timeout`**: Connection timeout in milliseconds (default: `5000`).
|
||||||
|
- **`read_timeout`**: Read timeout in milliseconds (default: `5000`).
|
||||||
|
|||||||
@ -5,7 +5,7 @@ Pumpkin uses a single `pumpkin.toml` file to configure all aspects of the server
|
|||||||
## Complete Default `pumpkin.toml`
|
## Complete Default `pumpkin.toml`
|
||||||
|
|
||||||
```toml
|
```toml
|
||||||
seed = "1785537519969227430"
|
seed = "1790155153199293024"
|
||||||
default_difficulty = "Normal"
|
default_difficulty = "Normal"
|
||||||
op_permission_level = 4
|
op_permission_level = 4
|
||||||
allow_nether = true
|
allow_nether = true
|
||||||
@ -23,9 +23,13 @@ enforce_whitelist = false
|
|||||||
|
|
||||||
[logging]
|
[logging]
|
||||||
enabled = true
|
enabled = true
|
||||||
threads = true
|
level = "info"
|
||||||
|
threads = false
|
||||||
|
thread_ids = false
|
||||||
|
target = false
|
||||||
color = true
|
color = true
|
||||||
timestamp = true
|
timestamp = true
|
||||||
|
timestamp_format = "[hour]:[minute]:[second]"
|
||||||
file = "latest.log"
|
file = "latest.log"
|
||||||
|
|
||||||
[resource_pack.java]
|
[resource_pack.java]
|
||||||
@ -42,7 +46,7 @@ packs = []
|
|||||||
|
|
||||||
[world]
|
[world]
|
||||||
lighting = "default"
|
lighting = "default"
|
||||||
autosave_ticks = 0
|
autosave_ticks = 6000
|
||||||
|
|
||||||
[world.chunk]
|
[world.chunk]
|
||||||
type = "anvil"
|
type = "anvil"
|
||||||
@ -53,7 +57,7 @@ algorithm = "LZ4"
|
|||||||
level = 6
|
level = 6
|
||||||
|
|
||||||
[networking.query]
|
[networking.query]
|
||||||
enabled = true
|
enabled = false
|
||||||
address = "0.0.0.0:25565"
|
address = "0.0.0.0:25565"
|
||||||
|
|
||||||
[networking.rcon]
|
[networking.rcon]
|
||||||
@ -77,6 +81,7 @@ secret = ""
|
|||||||
|
|
||||||
[networking.proxy.bungeecord]
|
[networking.proxy.bungeecord]
|
||||||
enabled = false
|
enabled = false
|
||||||
|
secret = ""
|
||||||
|
|
||||||
[networking.lan_broadcast]
|
[networking.lan_broadcast]
|
||||||
enabled = false
|
enabled = false
|
||||||
@ -89,6 +94,7 @@ online_mode = true
|
|||||||
max_players = 1000
|
max_players = 1000
|
||||||
view_distance = 16
|
view_distance = 16
|
||||||
simulation_distance = 10
|
simulation_distance = 10
|
||||||
|
keep_alive_time = 15
|
||||||
motd = "A blazingly fast Pumpkin server!"
|
motd = "A blazingly fast Pumpkin server!"
|
||||||
|
|
||||||
[networking.java.compression]
|
[networking.java.compression]
|
||||||
@ -98,6 +104,9 @@ level = 4
|
|||||||
|
|
||||||
[networking.java.authentication]
|
[networking.java.authentication]
|
||||||
enabled = true
|
enabled = true
|
||||||
|
fallbacks = []
|
||||||
|
profile_by_name_fallbacks = []
|
||||||
|
profile_by_uuid_fallbacks = []
|
||||||
connect_timeout = 5000
|
connect_timeout = 5000
|
||||||
read_timeout = 5000
|
read_timeout = 5000
|
||||||
prevent_proxy_connections = false
|
prevent_proxy_connections = false
|
||||||
@ -116,15 +125,22 @@ skin = true
|
|||||||
cape = true
|
cape = true
|
||||||
elytra = true
|
elytra = true
|
||||||
|
|
||||||
|
[networking.java.packet_limiter]
|
||||||
|
enabled = true
|
||||||
|
max_packet_rate = 500.0
|
||||||
|
burst_capacity = 500.0
|
||||||
|
kick_message = "Kicked for spamming packets"
|
||||||
|
|
||||||
[networking.bedrock]
|
[networking.bedrock]
|
||||||
enabled = true
|
enabled = true
|
||||||
address = "0.0.0.0:19132"
|
|
||||||
encryption = true
|
|
||||||
online_mode = true
|
online_mode = true
|
||||||
max_players = 1000
|
max_players = 1000
|
||||||
view_distance = 16
|
view_distance = 16
|
||||||
simulation_distance = 10
|
simulation_distance = 10
|
||||||
motd = "A blazingly fast Pumpkin server!"
|
motd = "A blazingly fast Pumpkin server!"
|
||||||
|
username_prefix = ""
|
||||||
|
replace_username_spaces = true
|
||||||
|
chunk_caching = true
|
||||||
|
|
||||||
[networking.bedrock.compression]
|
[networking.bedrock.compression]
|
||||||
enabled = true
|
enabled = true
|
||||||
@ -136,6 +152,18 @@ enabled = true
|
|||||||
connect_timeout = 5000
|
connect_timeout = 5000
|
||||||
read_timeout = 5000
|
read_timeout = 5000
|
||||||
|
|
||||||
|
[networking.bedrock.nethernet]
|
||||||
|
enabled = true
|
||||||
|
address = "0.0.0.0:19132"
|
||||||
|
identity_key = "nethernet-key.der"
|
||||||
|
stun_servers = []
|
||||||
|
|
||||||
|
[networking.bedrock.packet_limiter]
|
||||||
|
enabled = true
|
||||||
|
max_packet_rate = 500.0
|
||||||
|
burst_capacity = 500.0
|
||||||
|
kick_message = "Kicked for spamming packets"
|
||||||
|
|
||||||
[commands]
|
[commands]
|
||||||
use_console = true
|
use_console = true
|
||||||
use_tty = true
|
use_tty = true
|
||||||
@ -143,9 +171,18 @@ log_console = true
|
|||||||
broadcast_console_to_ops = true
|
broadcast_console_to_ops = true
|
||||||
default_op_level = 0
|
default_op_level = 0
|
||||||
|
|
||||||
|
[commands.overrides]
|
||||||
|
|
||||||
[chat]
|
[chat]
|
||||||
format = "<{DISPLAYNAME}> {MESSAGE}"
|
format = "<{DISPLAYNAME}> {MESSAGE}"
|
||||||
|
|
||||||
|
[chat.anti_spam]
|
||||||
|
enabled = true
|
||||||
|
spam_threshold = 200
|
||||||
|
message_cost = 20
|
||||||
|
decay_per_tick = 1
|
||||||
|
ops_bypass = true
|
||||||
|
|
||||||
[pvp]
|
[pvp]
|
||||||
enabled = true
|
enabled = true
|
||||||
hurt_animation = true
|
hurt_animation = true
|
||||||
@ -178,7 +215,17 @@ april_fools = true
|
|||||||
send_recipes = true
|
send_recipes = true
|
||||||
|
|
||||||
[plugins]
|
[plugins]
|
||||||
|
enabled = true
|
||||||
|
hot_reload = false
|
||||||
|
ask_permission_confirmation = true
|
||||||
|
allow_unsigned = true
|
||||||
|
allowed_permissions = []
|
||||||
blocked_permissions = []
|
blocked_permissions = []
|
||||||
|
inherit_env = false
|
||||||
|
loopback_only = false
|
||||||
|
verify_signatures = true
|
||||||
|
|
||||||
|
[plugins.overrides]
|
||||||
|
|
||||||
[advancement]
|
[advancement]
|
||||||
save_advancements = true
|
save_advancements = true
|
||||||
@ -199,6 +246,7 @@ save_advancements = true
|
|||||||
- **`force_gamemode`**: Force players to join in the default gamemode.
|
- **`force_gamemode`**: Force players to join in the default gamemode.
|
||||||
- **`scrub_ips`**: Anonymize player IP addresses in logs.
|
- **`scrub_ips`**: Anonymize player IP addresses in logs.
|
||||||
- **`use_favicon`**: Enable server icon (`icon.png`).
|
- **`use_favicon`**: Enable server icon (`icon.png`).
|
||||||
|
- **`favicon_path`**: Optional file path to a custom server favicon icon.
|
||||||
- **`default_level_name`**: Name of the main world directory (default: `"world"`).
|
- **`default_level_name`**: Name of the main world directory (default: `"world"`).
|
||||||
- **`allow_chat_reports`**: Enable signed chat reporting.
|
- **`allow_chat_reports`**: Enable signed chat reporting.
|
||||||
- **`white_list`**: Enable server whitelist.
|
- **`white_list`**: Enable server whitelist.
|
||||||
|
|||||||
50
docs/en/config/bedrock.md
Normal file
50
docs/en/config/bedrock.md
Normal file
@ -0,0 +1,50 @@
|
|||||||
|
# Bedrock & NetherNet
|
||||||
|
|
||||||
|
Pumpkin includes native support for Minecraft Bedrock Edition clients, including NetherNet WebRTC/ICE transport and username customization.
|
||||||
|
|
||||||
|
## Configuration
|
||||||
|
|
||||||
|
:::code-group
|
||||||
|
|
||||||
|
```toml [pumpkin.toml]
|
||||||
|
[networking.bedrock]
|
||||||
|
enabled = true
|
||||||
|
online_mode = true
|
||||||
|
max_players = 1000
|
||||||
|
view_distance = 16
|
||||||
|
simulation_distance = 10
|
||||||
|
motd = "A blazingly fast Pumpkin server!"
|
||||||
|
username_prefix = ""
|
||||||
|
replace_username_spaces = true
|
||||||
|
chunk_caching = true
|
||||||
|
|
||||||
|
[networking.bedrock.nethernet]
|
||||||
|
enabled = true
|
||||||
|
address = "0.0.0.0:19132"
|
||||||
|
identity_key = "nethernet-key.der"
|
||||||
|
stun_servers = []
|
||||||
|
```
|
||||||
|
|
||||||
|
:::
|
||||||
|
|
||||||
|
### Bedrock Options
|
||||||
|
|
||||||
|
- **`enabled`**: Whether connections from Bedrock Edition clients are accepted (default: `true`).
|
||||||
|
- **`online_mode`**: Whether Xbox Live authentication is enforced for Bedrock players (default: `true`).
|
||||||
|
- **`max_players`**: Maximum number of concurrent Bedrock players (`0` disables the limit, default: `1000`).
|
||||||
|
- **`view_distance`**: Maximum chunk view distance sent to Bedrock clients (default: `16`).
|
||||||
|
- **`simulation_distance`**: Maximum tick simulation distance for Bedrock players (default: `10`).
|
||||||
|
- **`motd`**: Message of the Day displayed in the Bedrock server list.
|
||||||
|
- **`username_prefix`**: Optional prefix prepended to Bedrock player gamertags (e.g. `"."` or `"*"`), preventing name collisions with Java Edition accounts on cross-play servers (default: `""`).
|
||||||
|
- **`replace_username_spaces`**: Whether spaces in Bedrock gamertags are automatically replaced with underscores `_`, ensuring player names can be referenced in Minecraft slash commands (default: `true`).
|
||||||
|
- **`chunk_caching`**: Whether client-side chunk blob caching is enabled to conserve network bandwidth (default: `true`).
|
||||||
|
|
||||||
|
### NetherNet Transport Settings
|
||||||
|
|
||||||
|
NetherNet is Minecraft Bedrock's modern WebRTC/ICE networking transport:
|
||||||
|
|
||||||
|
- **`enabled`**: Whether clients may connect using NetherNet (default: `true`).
|
||||||
|
- **`address`**: Network socket address for TCP signaling and UDP ICE multiplexing (default: `"0.0.0.0:19132"`).
|
||||||
|
- **`external_ip`**: Optional public IP address advertised when the server is hosted behind NAT.
|
||||||
|
- **`identity_key`**: File path to the PKCS#8 P-384 private identity key file retained across restarts for client Trust On First Use (TOFU) (default: `"nethernet-key.der"`).
|
||||||
|
- **`stun_servers`**: Optional list of STUN server URLs for ICE NAT traversal.
|
||||||
39
docs/en/config/chat.md
Normal file
39
docs/en/config/chat.md
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
# Chat & Anti-Spam
|
||||||
|
|
||||||
|
Pumpkin provides customizable in-game chat formatting and built-in anti-spam protection under `[chat]` in `pumpkin.toml`.
|
||||||
|
|
||||||
|
## Configuration
|
||||||
|
|
||||||
|
:::code-group
|
||||||
|
|
||||||
|
```toml [pumpkin.toml]
|
||||||
|
[chat]
|
||||||
|
format = "<{DISPLAYNAME}> {MESSAGE}"
|
||||||
|
|
||||||
|
[chat.anti_spam]
|
||||||
|
enabled = true
|
||||||
|
spam_threshold = 200
|
||||||
|
message_cost = 20
|
||||||
|
decay_per_tick = 1
|
||||||
|
ops_bypass = true
|
||||||
|
```
|
||||||
|
|
||||||
|
:::
|
||||||
|
|
||||||
|
### Chat Settings
|
||||||
|
|
||||||
|
- **`format`**: The chat message format string (default: `"<{DISPLAYNAME}> {MESSAGE}"`).
|
||||||
|
- `{DISPLAYNAME}`: Player display name.
|
||||||
|
- `{MESSAGE}`: Chat message text.
|
||||||
|
> [!NOTE]
|
||||||
|
> Custom chat formatting does not apply when secure chat reporting (`allow_chat_reports = true`) is enabled.
|
||||||
|
|
||||||
|
### Anti-Spam Protection
|
||||||
|
|
||||||
|
Pumpkin implements a leaky-bucket spam counter to protect the server from spamming players and bot floods:
|
||||||
|
|
||||||
|
- **`enabled`**: Whether anti-spam protection is active (default: `true`).
|
||||||
|
- **`spam_threshold`**: The spam counter threshold in ticks at which a player will be kicked (default: `200` ticks).
|
||||||
|
- **`message_cost`**: The amount added to the player's spam counter for each chat message or command sent (default: `20` ticks).
|
||||||
|
- **`decay_per_tick`**: The amount decayed from the player's spam counter on each server tick (default: `1` tick).
|
||||||
|
- **`ops_bypass`**: Whether server operators bypass anti-spam checks (default: `true`).
|
||||||
@ -13,14 +13,36 @@ use_tty = true
|
|||||||
log_console = true
|
log_console = true
|
||||||
broadcast_console_to_ops = true
|
broadcast_console_to_ops = true
|
||||||
default_op_level = 0
|
default_op_level = 0
|
||||||
|
|
||||||
|
# Optional per-command overrides
|
||||||
|
[commands.overrides.gamemode]
|
||||||
|
permission_level = 4
|
||||||
|
|
||||||
|
[commands.overrides.tp]
|
||||||
|
enabled = false
|
||||||
```
|
```
|
||||||
|
|
||||||
:::
|
:::
|
||||||
|
|
||||||
### Configuration Options
|
### Configuration Options
|
||||||
|
|
||||||
- **`use_console`**: Whether commands input via console are accepted.
|
- **`use_console`**: Whether commands from the console are accepted.
|
||||||
- **`use_tty`**: Whether TTY support is enabled for the interactive console.
|
- **`use_tty`**: Whether TTY support (rustyline) is enabled for interactive console input.
|
||||||
- **`log_console`**: Whether commands executed by players are logged to the console.
|
- **`log_console`**: Whether commands executed by players are logged to the console.
|
||||||
- **`broadcast_console_to_ops`**: Broadcast console command outputs to server operators.
|
- **`broadcast_console_to_ops`**: Whether console and RCON command output is broadcast to online operators (matches vanilla `broadcast-console-to-ops`).
|
||||||
- **`default_op_level`**: Default OP level assigned (0 to 4).
|
- **`default_op_level`**: The OP permission level assigned to non-operators (0 to 4, default: `0`).
|
||||||
|
|
||||||
|
## Command Overrides
|
||||||
|
|
||||||
|
You can customize permissions or completely disable individual commands using `[commands.overrides.<command>]`. The key is named after the command without the leading slash (e.g. `gamemode`, `tp`).
|
||||||
|
|
||||||
|
### Override Options
|
||||||
|
|
||||||
|
- **`enabled`**: Whether the command is enabled (default: `true`). When set to `false`, the command is completely hidden: it will not run, will not appear in `/help`, and will not show up in tab completion. Players attempting to run it will receive an unknown command message.
|
||||||
|
- **`permission_level`**: The minimum permission level required to run the command:
|
||||||
|
- `0`: Everyone can use it.
|
||||||
|
- `2`: Normal operators (typical cheat commands like `/gamemode`).
|
||||||
|
- `3`: Admins (moderation commands like `/kick`, `/ban`).
|
||||||
|
- `4`: Server owner (full server management like `/stop`, `/op`).
|
||||||
|
|
||||||
|
Leave `permission_level` omitted to keep the command's default permission level.
|
||||||
|
|||||||
@ -50,5 +50,5 @@ level = 6
|
|||||||
|
|
||||||
:::
|
:::
|
||||||
|
|
||||||
- **`algorithm`**: Compression algorithm used for chunk data (e.g. `"LZ4"`).
|
- **`algorithm`**: Compression algorithm used for chunk data. Supported options are `"LZ4"`, `"ZLib"`, `"GZip"`, and `"Custom"` (default: `"LZ4"`).
|
||||||
- **`level`**: Compression level for chunk data.
|
- **`level`**: Compression level for chunk data (default: `6`).
|
||||||
|
|||||||
@ -9,10 +9,14 @@ Pumpkin can broadcast server announcements on the local network so LAN clients c
|
|||||||
```toml [pumpkin.toml]
|
```toml [pumpkin.toml]
|
||||||
[networking.lan_broadcast]
|
[networking.lan_broadcast]
|
||||||
enabled = false
|
enabled = false
|
||||||
|
# motd = "My Custom LAN Server"
|
||||||
|
# port = 25565
|
||||||
```
|
```
|
||||||
|
|
||||||
:::
|
:::
|
||||||
|
|
||||||
### Configuration Options
|
### Configuration Options
|
||||||
|
|
||||||
- **`enabled`**: Enables or disables broadcasting to local network clients.
|
- **`enabled`**: Enables or disables broadcasting server presence on the local network (default: `false`).
|
||||||
|
- **`motd`**: (Optional) Custom one-line Message of the Day shown in LAN client discovery. If omitted, defaults to the server's Java MOTD with newlines removed.
|
||||||
|
- **`port`**: (Optional) Port advertised in the LAN broadcast. Useful for port forwarding or predictable ports in containerized environments like Docker.
|
||||||
|
|||||||
@ -9,9 +9,13 @@ Pumpkin provides customizable logging options in `pumpkin.toml`.
|
|||||||
```toml [pumpkin.toml]
|
```toml [pumpkin.toml]
|
||||||
[logging]
|
[logging]
|
||||||
enabled = true
|
enabled = true
|
||||||
threads = true
|
level = "info"
|
||||||
|
threads = false
|
||||||
|
thread_ids = false
|
||||||
|
target = false
|
||||||
color = true
|
color = true
|
||||||
timestamp = true
|
timestamp = true
|
||||||
|
timestamp_format = "[hour]:[minute]:[second]"
|
||||||
file = "latest.log"
|
file = "latest.log"
|
||||||
```
|
```
|
||||||
|
|
||||||
@ -19,8 +23,12 @@ file = "latest.log"
|
|||||||
|
|
||||||
### Configuration Options
|
### Configuration Options
|
||||||
|
|
||||||
- **`enabled`**: Master switch to enable or disable logging.
|
- **`enabled`**: Master switch to enable or disable server logging (default: `true`).
|
||||||
- **`threads`**: Include thread names/IDs in log output.
|
- **`level`**: Minimum log level for console and file output. Available levels are `"trace"`, `"debug"`, `"info"`, `"warn"`, `"error"`, and `"off"` (default: `"info"`). Can also be overridden with the `RUST_LOG` environment variable.
|
||||||
- **`color`**: Enable ANSI color output in console logs.
|
- **`threads`**: Whether to include thread names in log messages (default: `false`).
|
||||||
- **`timestamp`**: Include timestamps in log entries.
|
- **`thread_ids`**: Whether to include numeric thread IDs in log messages (default: `false`).
|
||||||
- **`file`**: Path to the log file (e.g. `"latest.log"`).
|
- **`target`**: Whether to include module and component targets in log entries (default: `false`).
|
||||||
|
- **`color`**: Whether to enable ANSI colored log output in the console (default: `true`).
|
||||||
|
- **`timestamp`**: Whether to include timestamps in log entries (default: `true`).
|
||||||
|
- **`timestamp_format`**: Timestamp format string using `time` format description syntax (default: `"[hour]:[minute]:[second]"`).
|
||||||
|
- **`file`**: File path to write log output to (default: `"latest.log"`).
|
||||||
|
|||||||
30
docs/en/config/packet-limiter.md
Normal file
30
docs/en/config/packet-limiter.md
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
# Packet Limiter
|
||||||
|
|
||||||
|
Pumpkin features a built-in packet rate limiter to protect the server from packet flooding, spam attacks, and client-side exploits. Packet rate limits can be configured independently for Java Edition and Bedrock Edition clients.
|
||||||
|
|
||||||
|
## Configuration
|
||||||
|
|
||||||
|
:::code-group
|
||||||
|
|
||||||
|
```toml [pumpkin.toml]
|
||||||
|
[networking.java.packet_limiter]
|
||||||
|
enabled = true
|
||||||
|
max_packet_rate = 500.0
|
||||||
|
burst_capacity = 500.0
|
||||||
|
kick_message = "Kicked for spamming packets"
|
||||||
|
|
||||||
|
[networking.bedrock.packet_limiter]
|
||||||
|
enabled = true
|
||||||
|
max_packet_rate = 500.0
|
||||||
|
burst_capacity = 500.0
|
||||||
|
kick_message = "Kicked for spamming packets"
|
||||||
|
```
|
||||||
|
|
||||||
|
:::
|
||||||
|
|
||||||
|
### Configuration Options
|
||||||
|
|
||||||
|
- **`enabled`**: Whether the packet rate limiter is enabled for this client edition (default: `true`).
|
||||||
|
- **`max_packet_rate`**: Maximum allowed incoming packets per second per client connection (default: `500.0`). Set to `<= 0.0` to disable the rate limit without disabling the limiter module.
|
||||||
|
- **`burst_capacity`**: Token bucket burst allowance capacity for brief spikes in client packets (default: `500.0`).
|
||||||
|
- **`kick_message`**: The disconnection message displayed to the player when their connection exceeds the packet limit (default: `"Kicked for spamming packets"`).
|
||||||
41
docs/en/config/player-data.md
Normal file
41
docs/en/config/player-data.md
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
# Player Data & Gameplay
|
||||||
|
|
||||||
|
Settings for saving persistent player data, advancements, recipe synchronization, and fun seasonal features are configured in `pumpkin.toml`.
|
||||||
|
|
||||||
|
## Configuration
|
||||||
|
|
||||||
|
:::code-group
|
||||||
|
|
||||||
|
```toml [pumpkin.toml]
|
||||||
|
[player_data]
|
||||||
|
save_player_data = true
|
||||||
|
save_player_cron_interval = 300
|
||||||
|
|
||||||
|
[advancement]
|
||||||
|
save_advancements = true
|
||||||
|
|
||||||
|
[recipe]
|
||||||
|
send_recipes = true
|
||||||
|
|
||||||
|
[fun]
|
||||||
|
april_fools = true
|
||||||
|
```
|
||||||
|
|
||||||
|
:::
|
||||||
|
|
||||||
|
### Player Data
|
||||||
|
|
||||||
|
- **`save_player_data`**: Whether persistent player data (inventory, location, health) is saved to disk (default: `true`).
|
||||||
|
- **`save_player_cron_interval`**: Time interval in seconds between automatic periodic saves of online player data (default: `300` seconds / 5 minutes).
|
||||||
|
|
||||||
|
### Advancements
|
||||||
|
|
||||||
|
- **`save_advancements`**: Whether player advancement progress is tracked and saved to disk (default: `true`).
|
||||||
|
|
||||||
|
### Recipes
|
||||||
|
|
||||||
|
- **`send_recipes`**: Whether crafting and smelting recipes are synchronized with connected clients, enabling the client-side recipe book (default: `true`).
|
||||||
|
|
||||||
|
### Fun Features
|
||||||
|
|
||||||
|
- **`april_fools`**: Whether fun and seasonal April Fools easter eggs and features are enabled (default: `true`).
|
||||||
59
docs/en/config/plugins.md
Normal file
59
docs/en/config/plugins.md
Normal file
@ -0,0 +1,59 @@
|
|||||||
|
# Plugins
|
||||||
|
|
||||||
|
Pumpkin provides a WebAssembly (WASM) plugin runtime with capability-based security. Plugin behavior, signature verification, and permissions are configured under `[plugins]` in `pumpkin.toml`.
|
||||||
|
|
||||||
|
## Configuration
|
||||||
|
|
||||||
|
:::code-group
|
||||||
|
|
||||||
|
```toml [pumpkin.toml]
|
||||||
|
[plugins]
|
||||||
|
enabled = true
|
||||||
|
hot_reload = false
|
||||||
|
ask_permission_confirmation = true
|
||||||
|
allow_unsigned = true
|
||||||
|
allowed_permissions = []
|
||||||
|
blocked_permissions = []
|
||||||
|
inherit_env = false
|
||||||
|
loopback_only = false
|
||||||
|
verify_signatures = true
|
||||||
|
|
||||||
|
# Optional per-plugin overrides
|
||||||
|
[plugins.overrides.my_plugin]
|
||||||
|
enabled = true
|
||||||
|
allow_unsigned = true
|
||||||
|
max_memory_mb = 128
|
||||||
|
allowed_permissions = ["fs:read:data"]
|
||||||
|
blocked_permissions = ["network:outbound"]
|
||||||
|
loopback_only = true
|
||||||
|
|
||||||
|
[plugins.overrides.my_plugin.environment]
|
||||||
|
API_KEY = "example_secret"
|
||||||
|
```
|
||||||
|
|
||||||
|
:::
|
||||||
|
|
||||||
|
### Global Plugin Settings
|
||||||
|
|
||||||
|
- **`enabled`**: Master switch to enable or disable the plugin runtime (default: `true`).
|
||||||
|
- **`hot_reload`**: Watch the `plugins/` directory and automatically reload modified plugins at runtime (default: `false`).
|
||||||
|
- **`ask_permission_confirmation`**: Prompt in the server console when a plugin requests unapproved capabilities/permissions (default: `true`).
|
||||||
|
- **`allow_unsigned`**: Allow loading unsigned WASM plugins (default: `true`).
|
||||||
|
- **`allowed_permissions`**: List of permissions globally pre-approved for all plugins, bypassing interactive console prompts (default: `[]`).
|
||||||
|
- **`blocked_permissions`**: List of permissions globally denied to all plugins (default: `[]`).
|
||||||
|
- **`inherit_env`**: Whether host environment variables are inherited into plugin WASI sandboxes by default (default: `false`).
|
||||||
|
- **`loopback_only`**: Whether outbound network connections from plugins are restricted to `127.0.0.1` / localhost (default: `false`).
|
||||||
|
- **`max_memory_mb`**: (Optional) Global maximum memory limit in megabytes (MB) per plugin instance.
|
||||||
|
- **`verify_signatures`**: Whether Pumpkin verifies cryptographic signatures on WASM plugins before loading (default: `true`).
|
||||||
|
|
||||||
|
### Per-Plugin Overrides
|
||||||
|
|
||||||
|
Fine-tune permissions and environment variables for specific plugins under `[plugins.overrides.<plugin_name>]`:
|
||||||
|
|
||||||
|
- **`enabled`**: Enable or disable this specific plugin (default: `true`).
|
||||||
|
- **`allow_unsigned`**: Override whether this specific plugin can run unsigned (`true`/`false`).
|
||||||
|
- **`max_memory_mb`**: Maximum memory limit in MB allocated specifically for this plugin.
|
||||||
|
- **`allowed_permissions`**: Pre-approved permissions for this plugin.
|
||||||
|
- **`blocked_permissions`**: Explicitly blocked permissions for this plugin.
|
||||||
|
- **`loopback_only`**: Override loopback network restriction for this plugin.
|
||||||
|
- **`environment`**: Table of custom environment variables passed directly into the plugin's WASI environment.
|
||||||
@ -16,6 +16,7 @@ secret = ""
|
|||||||
|
|
||||||
[networking.proxy.bungeecord]
|
[networking.proxy.bungeecord]
|
||||||
enabled = false
|
enabled = false
|
||||||
|
secret = ""
|
||||||
```
|
```
|
||||||
|
|
||||||
:::
|
:::
|
||||||
@ -23,6 +24,7 @@ enabled = false
|
|||||||
### Configuration Options
|
### Configuration Options
|
||||||
|
|
||||||
- **`[networking.proxy].enabled`**: Master switch to enable proxy support.
|
- **`[networking.proxy].enabled`**: Master switch to enable proxy support.
|
||||||
- **`[networking.proxy.velocity].enabled`**: Enables Velocity forwarding protocol.
|
- **`[networking.proxy.velocity].enabled`**: Enables Velocity modern forwarding protocol.
|
||||||
- **`[networking.proxy.velocity].secret`**: Forwarding secret matching Velocity proxy configuration.
|
- **`[networking.proxy.velocity].secret`**: Forwarding secret matching the Velocity proxy configuration.
|
||||||
- **`[networking.proxy.bungeecord].enabled`**: Enables BungeeCord forwarding protocol.
|
- **`[networking.proxy.bungeecord].enabled`**: Enables BungeeCord player info forwarding protocol.
|
||||||
|
- **`[networking.proxy.bungeecord].secret`**: Optional shared secret for authenticating connections from the BungeeCord proxy via BungeeGuard (`bungeeguard-token`). When set, incoming connections must provide this token, preventing players from bypassing the proxy to connect directly.
|
||||||
|
|||||||
@ -8,7 +8,7 @@ The Query protocol allows external applications (such as server lists or monitor
|
|||||||
|
|
||||||
```toml [pumpkin.toml]
|
```toml [pumpkin.toml]
|
||||||
[networking.query]
|
[networking.query]
|
||||||
enabled = true
|
enabled = false
|
||||||
address = "0.0.0.0:25565"
|
address = "0.0.0.0:25565"
|
||||||
```
|
```
|
||||||
|
|
||||||
@ -16,5 +16,5 @@ address = "0.0.0.0:25565"
|
|||||||
|
|
||||||
### Configuration Options
|
### Configuration Options
|
||||||
|
|
||||||
- **`enabled`**: Enables or disables the Query listener.
|
- **`enabled`**: Enables or disables the GS4 Query listener (default: `false`).
|
||||||
- **`address`**: Network address and port to bind the Query listener to.
|
- **`address`**: Network address and port to bind the Query listener to (default: `"0.0.0.0:25565"`).
|
||||||
|
|||||||
@ -33,7 +33,9 @@ force = false
|
|||||||
[resource_pack.bedrock]
|
[resource_pack.bedrock]
|
||||||
enabled = false
|
enabled = false
|
||||||
force = false
|
force = false
|
||||||
packs = []
|
packs = [
|
||||||
|
# { uuid = "00000000-0000-0000-0000-000000000000", version = "1.0.0", size = 1048576, download_url = "https://example.com/pack.mcpack" }
|
||||||
|
]
|
||||||
```
|
```
|
||||||
|
|
||||||
:::
|
:::
|
||||||
@ -41,5 +43,20 @@ packs = []
|
|||||||
### Options
|
### Options
|
||||||
|
|
||||||
- **`enabled`**: Enable resource packs for Bedrock clients.
|
- **`enabled`**: Enable resource packs for Bedrock clients.
|
||||||
- **`force`**: Force Bedrock clients to download required packs.
|
- **`force`**: Force Bedrock clients to download required packs before joining.
|
||||||
- **`packs`**: Array of Bedrock resource pack definitions.
|
- **`packs`**: Array of Bedrock resource pack definitions.
|
||||||
|
|
||||||
|
### Bedrock Pack Fields
|
||||||
|
|
||||||
|
Each pack in the `packs` array accepts the following properties:
|
||||||
|
|
||||||
|
- **`uuid`**: (Required) Unique identifier (UUID) for the Bedrock pack matching its `manifest.json`.
|
||||||
|
- **`version`**: (Required) Version string of the pack (e.g. `"1.0.0"`).
|
||||||
|
- **`size`**: (Required) File size of the pack archive in bytes.
|
||||||
|
- **`download_url`**: (Required) Direct download URL for the `.mcpack` or archive file.
|
||||||
|
- **`content_key`**: (Optional) Decryption key for encrypted marketplace/custom packs.
|
||||||
|
- **`sub_pack_name`**: (Optional) Sub-pack name within the pack to activate.
|
||||||
|
- **`content_id`**: (Optional) Content identifier string.
|
||||||
|
- **`has_scripts`**: (Optional) Whether the pack contains client scripts (`true`/`false`, default: `false`).
|
||||||
|
- **`addon_pack`**: (Optional) Whether the pack is marked as an addon pack (default: `false`).
|
||||||
|
- **`rtx_enabled`**: (Optional) Whether ray tracing / RTX features are enabled for the pack (default: `false`).
|
||||||
|
|||||||
50
docs/en/config/server-links.md
Normal file
50
docs/en/config/server-links.md
Normal file
@ -0,0 +1,50 @@
|
|||||||
|
# Server Links
|
||||||
|
|
||||||
|
Minecraft clients (since 1.21) can display clickable server links in the pause menu and game menus. Configure standard and custom server links under `[server_links]` in `pumpkin.toml`.
|
||||||
|
|
||||||
|
## Configuration
|
||||||
|
|
||||||
|
:::code-group
|
||||||
|
|
||||||
|
```toml [pumpkin.toml]
|
||||||
|
[server_links]
|
||||||
|
enabled = true
|
||||||
|
bug_report = "https://github.com/Pumpkin-MC/Pumpkin/issues"
|
||||||
|
support = ""
|
||||||
|
status = ""
|
||||||
|
feedback = ""
|
||||||
|
community = ""
|
||||||
|
website = ""
|
||||||
|
forums = ""
|
||||||
|
news = ""
|
||||||
|
announcements = ""
|
||||||
|
|
||||||
|
[server_links.custom]
|
||||||
|
# "Store" = "https://store.example.com"
|
||||||
|
# "Discord" = "https://discord.gg/example"
|
||||||
|
```
|
||||||
|
|
||||||
|
:::
|
||||||
|
|
||||||
|
### Configuration Options
|
||||||
|
|
||||||
|
- **`enabled`**: Master switch to enable broadcasting server links to connecting clients (default: `true`).
|
||||||
|
- **`bug_report`**: Link to server or project bug tracker (default: `"https://github.com/Pumpkin-MC/Pumpkin/issues"`).
|
||||||
|
- **`support`**: Link to technical support or help desk.
|
||||||
|
- **`status`**: Link to server uptime/status page.
|
||||||
|
- **`feedback`**: Link to player feedback or suggestion page.
|
||||||
|
- **`community`**: Link to community forums or group.
|
||||||
|
- **`website`**: Link to official website.
|
||||||
|
- **`forums`**: Link to discussion forums.
|
||||||
|
- **`news`**: Link to server blog or news page.
|
||||||
|
- **`announcements`**: Link to announcements page.
|
||||||
|
|
||||||
|
### Custom Links
|
||||||
|
|
||||||
|
Define arbitrary key-value links shown in client menus under `[server_links.custom]`:
|
||||||
|
|
||||||
|
```toml
|
||||||
|
[server_links.custom]
|
||||||
|
"Store" = "https://store.example.com"
|
||||||
|
"Discord" = "https://discord.gg/example"
|
||||||
|
```
|
||||||
41
docs/en/config/world.md
Normal file
41
docs/en/config/world.md
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
# World
|
||||||
|
|
||||||
|
Pumpkin allows fine-tuning world storage formats, autosave intervals, and lighting modes under `[world]` in `pumpkin.toml`.
|
||||||
|
|
||||||
|
## Configuration
|
||||||
|
|
||||||
|
:::code-group
|
||||||
|
|
||||||
|
```toml [pumpkin.toml]
|
||||||
|
[world]
|
||||||
|
lighting = "default"
|
||||||
|
autosave_ticks = 6000
|
||||||
|
|
||||||
|
[world.chunk]
|
||||||
|
type = "anvil"
|
||||||
|
write_in_place = false
|
||||||
|
|
||||||
|
[world.chunk.compression]
|
||||||
|
algorithm = "LZ4"
|
||||||
|
level = 6
|
||||||
|
```
|
||||||
|
|
||||||
|
:::
|
||||||
|
|
||||||
|
### World Settings
|
||||||
|
|
||||||
|
- **`lighting`**: Lighting engine propagation calculation mode.
|
||||||
|
- `"default"`: Standard Vanilla Minecraft light propagation.
|
||||||
|
- `"full"`: Full skylight everywhere without shadows.
|
||||||
|
- `"dark"`: Completely dark lighting everywhere (zero light).
|
||||||
|
- **`autosave_ticks`**: Number of server ticks between automatic world saves (default: `6000`, equivalent to 5 minutes at 20 TPS). Setting this to `0` disables world autosaving.
|
||||||
|
|
||||||
|
### Chunk Storage Settings
|
||||||
|
|
||||||
|
- **`type`**: The chunk storage format to use:
|
||||||
|
- `"anvil"`: Standard Minecraft Anvil region file format (`.mca`).
|
||||||
|
- `"linear"`: Linear region storage format using fast compression for a smaller disk footprint.
|
||||||
|
- `"pump"`: Pumpkin's native optimized world format.
|
||||||
|
- **`write_in_place`**: Whether chunks should be rewritten in place within existing region files rather than reallocating free chunks (default: `false`).
|
||||||
|
- **`compression.algorithm`**: Compression algorithm used for chunk data (`"LZ4"`, `"ZLib"`, `"GZip"`, `"Custom"`).
|
||||||
|
- **`compression.level`**: Compression level for chunk storage (default: `6`).
|
||||||
@ -8,7 +8,7 @@ Het adres om de server aan te binden.
|
|||||||
|
|
||||||
:::code-group
|
:::code-group
|
||||||
```toml
|
```toml
|
||||||
seed = "1785537519969227430"
|
seed = "1790155153199293024"
|
||||||
default_difficulty = "Normal"
|
default_difficulty = "Normal"
|
||||||
op_permission_level = 4
|
op_permission_level = 4
|
||||||
allow_nether = true
|
allow_nether = true
|
||||||
@ -26,9 +26,13 @@ enforce_whitelist = false
|
|||||||
|
|
||||||
[logging]
|
[logging]
|
||||||
enabled = true
|
enabled = true
|
||||||
threads = true
|
level = "info"
|
||||||
|
threads = false
|
||||||
|
thread_ids = false
|
||||||
|
target = false
|
||||||
color = true
|
color = true
|
||||||
timestamp = true
|
timestamp = true
|
||||||
|
timestamp_format = "[hour]:[minute]:[second]"
|
||||||
file = "latest.log"
|
file = "latest.log"
|
||||||
|
|
||||||
[resource_pack.java]
|
[resource_pack.java]
|
||||||
@ -45,7 +49,7 @@ packs = []
|
|||||||
|
|
||||||
[world]
|
[world]
|
||||||
lighting = "default"
|
lighting = "default"
|
||||||
autosave_ticks = 0
|
autosave_ticks = 6000
|
||||||
|
|
||||||
[world.chunk]
|
[world.chunk]
|
||||||
type = "anvil"
|
type = "anvil"
|
||||||
@ -56,7 +60,7 @@ algorithm = "LZ4"
|
|||||||
level = 6
|
level = 6
|
||||||
|
|
||||||
[networking.query]
|
[networking.query]
|
||||||
enabled = true
|
enabled = false
|
||||||
address = "0.0.0.0:25565"
|
address = "0.0.0.0:25565"
|
||||||
|
|
||||||
[networking.rcon]
|
[networking.rcon]
|
||||||
@ -80,6 +84,7 @@ secret = ""
|
|||||||
|
|
||||||
[networking.proxy.bungeecord]
|
[networking.proxy.bungeecord]
|
||||||
enabled = false
|
enabled = false
|
||||||
|
secret = ""
|
||||||
|
|
||||||
[networking.lan_broadcast]
|
[networking.lan_broadcast]
|
||||||
enabled = false
|
enabled = false
|
||||||
@ -92,6 +97,7 @@ online_mode = true
|
|||||||
max_players = 1000
|
max_players = 1000
|
||||||
view_distance = 16
|
view_distance = 16
|
||||||
simulation_distance = 10
|
simulation_distance = 10
|
||||||
|
keep_alive_time = 15
|
||||||
motd = "A blazingly fast Pumpkin server!"
|
motd = "A blazingly fast Pumpkin server!"
|
||||||
|
|
||||||
[networking.java.compression]
|
[networking.java.compression]
|
||||||
@ -101,6 +107,9 @@ level = 4
|
|||||||
|
|
||||||
[networking.java.authentication]
|
[networking.java.authentication]
|
||||||
enabled = true
|
enabled = true
|
||||||
|
fallbacks = []
|
||||||
|
profile_by_name_fallbacks = []
|
||||||
|
profile_by_uuid_fallbacks = []
|
||||||
connect_timeout = 5000
|
connect_timeout = 5000
|
||||||
read_timeout = 5000
|
read_timeout = 5000
|
||||||
prevent_proxy_connections = false
|
prevent_proxy_connections = false
|
||||||
@ -119,15 +128,22 @@ skin = true
|
|||||||
cape = true
|
cape = true
|
||||||
elytra = true
|
elytra = true
|
||||||
|
|
||||||
|
[networking.java.packet_limiter]
|
||||||
|
enabled = true
|
||||||
|
max_packet_rate = 500.0
|
||||||
|
burst_capacity = 500.0
|
||||||
|
kick_message = "Kicked for spamming packets"
|
||||||
|
|
||||||
[networking.bedrock]
|
[networking.bedrock]
|
||||||
enabled = true
|
enabled = true
|
||||||
address = "0.0.0.0:19132"
|
|
||||||
encryption = true
|
|
||||||
online_mode = true
|
online_mode = true
|
||||||
max_players = 1000
|
max_players = 1000
|
||||||
view_distance = 16
|
view_distance = 16
|
||||||
simulation_distance = 10
|
simulation_distance = 10
|
||||||
motd = "A blazingly fast Pumpkin server!"
|
motd = "A blazingly fast Pumpkin server!"
|
||||||
|
username_prefix = ""
|
||||||
|
replace_username_spaces = true
|
||||||
|
chunk_caching = true
|
||||||
|
|
||||||
[networking.bedrock.compression]
|
[networking.bedrock.compression]
|
||||||
enabled = true
|
enabled = true
|
||||||
@ -139,6 +155,18 @@ enabled = true
|
|||||||
connect_timeout = 5000
|
connect_timeout = 5000
|
||||||
read_timeout = 5000
|
read_timeout = 5000
|
||||||
|
|
||||||
|
[networking.bedrock.nethernet]
|
||||||
|
enabled = true
|
||||||
|
address = "0.0.0.0:19132"
|
||||||
|
identity_key = "nethernet-key.der"
|
||||||
|
stun_servers = []
|
||||||
|
|
||||||
|
[networking.bedrock.packet_limiter]
|
||||||
|
enabled = true
|
||||||
|
max_packet_rate = 500.0
|
||||||
|
burst_capacity = 500.0
|
||||||
|
kick_message = "Kicked for spamming packets"
|
||||||
|
|
||||||
[commands]
|
[commands]
|
||||||
use_console = true
|
use_console = true
|
||||||
use_tty = true
|
use_tty = true
|
||||||
@ -146,9 +174,18 @@ log_console = true
|
|||||||
broadcast_console_to_ops = true
|
broadcast_console_to_ops = true
|
||||||
default_op_level = 0
|
default_op_level = 0
|
||||||
|
|
||||||
|
[commands.overrides]
|
||||||
|
|
||||||
[chat]
|
[chat]
|
||||||
format = "<{DISPLAYNAME}> {MESSAGE}"
|
format = "<{DISPLAYNAME}> {MESSAGE}"
|
||||||
|
|
||||||
|
[chat.anti_spam]
|
||||||
|
enabled = true
|
||||||
|
spam_threshold = 200
|
||||||
|
message_cost = 20
|
||||||
|
decay_per_tick = 1
|
||||||
|
ops_bypass = true
|
||||||
|
|
||||||
[pvp]
|
[pvp]
|
||||||
enabled = true
|
enabled = true
|
||||||
hurt_animation = true
|
hurt_animation = true
|
||||||
@ -181,7 +218,17 @@ april_fools = true
|
|||||||
send_recipes = true
|
send_recipes = true
|
||||||
|
|
||||||
[plugins]
|
[plugins]
|
||||||
|
enabled = true
|
||||||
|
hot_reload = false
|
||||||
|
ask_permission_confirmation = true
|
||||||
|
allow_unsigned = true
|
||||||
|
allowed_permissions = []
|
||||||
blocked_permissions = []
|
blocked_permissions = []
|
||||||
|
inherit_env = false
|
||||||
|
loopback_only = false
|
||||||
|
verify_signatures = true
|
||||||
|
|
||||||
|
[plugins.overrides]
|
||||||
|
|
||||||
[advancement]
|
[advancement]
|
||||||
save_advancements = true
|
save_advancements = true
|
||||||
|
|||||||
@ -9,7 +9,7 @@ O endereço para vincular o servidor.
|
|||||||
:::code-group
|
:::code-group
|
||||||
|
|
||||||
```toml
|
```toml
|
||||||
seed = "1785537519969227430"
|
seed = "1790155153199293024"
|
||||||
default_difficulty = "Normal"
|
default_difficulty = "Normal"
|
||||||
op_permission_level = 4
|
op_permission_level = 4
|
||||||
allow_nether = true
|
allow_nether = true
|
||||||
@ -27,9 +27,13 @@ enforce_whitelist = false
|
|||||||
|
|
||||||
[logging]
|
[logging]
|
||||||
enabled = true
|
enabled = true
|
||||||
threads = true
|
level = "info"
|
||||||
|
threads = false
|
||||||
|
thread_ids = false
|
||||||
|
target = false
|
||||||
color = true
|
color = true
|
||||||
timestamp = true
|
timestamp = true
|
||||||
|
timestamp_format = "[hour]:[minute]:[second]"
|
||||||
file = "latest.log"
|
file = "latest.log"
|
||||||
|
|
||||||
[resource_pack.java]
|
[resource_pack.java]
|
||||||
@ -46,7 +50,7 @@ packs = []
|
|||||||
|
|
||||||
[world]
|
[world]
|
||||||
lighting = "default"
|
lighting = "default"
|
||||||
autosave_ticks = 0
|
autosave_ticks = 6000
|
||||||
|
|
||||||
[world.chunk]
|
[world.chunk]
|
||||||
type = "anvil"
|
type = "anvil"
|
||||||
@ -57,7 +61,7 @@ algorithm = "LZ4"
|
|||||||
level = 6
|
level = 6
|
||||||
|
|
||||||
[networking.query]
|
[networking.query]
|
||||||
enabled = true
|
enabled = false
|
||||||
address = "0.0.0.0:25565"
|
address = "0.0.0.0:25565"
|
||||||
|
|
||||||
[networking.rcon]
|
[networking.rcon]
|
||||||
@ -81,6 +85,7 @@ secret = ""
|
|||||||
|
|
||||||
[networking.proxy.bungeecord]
|
[networking.proxy.bungeecord]
|
||||||
enabled = false
|
enabled = false
|
||||||
|
secret = ""
|
||||||
|
|
||||||
[networking.lan_broadcast]
|
[networking.lan_broadcast]
|
||||||
enabled = false
|
enabled = false
|
||||||
@ -93,6 +98,7 @@ online_mode = true
|
|||||||
max_players = 1000
|
max_players = 1000
|
||||||
view_distance = 16
|
view_distance = 16
|
||||||
simulation_distance = 10
|
simulation_distance = 10
|
||||||
|
keep_alive_time = 15
|
||||||
motd = "A blazingly fast Pumpkin server!"
|
motd = "A blazingly fast Pumpkin server!"
|
||||||
|
|
||||||
[networking.java.compression]
|
[networking.java.compression]
|
||||||
@ -102,6 +108,9 @@ level = 4
|
|||||||
|
|
||||||
[networking.java.authentication]
|
[networking.java.authentication]
|
||||||
enabled = true
|
enabled = true
|
||||||
|
fallbacks = []
|
||||||
|
profile_by_name_fallbacks = []
|
||||||
|
profile_by_uuid_fallbacks = []
|
||||||
connect_timeout = 5000
|
connect_timeout = 5000
|
||||||
read_timeout = 5000
|
read_timeout = 5000
|
||||||
prevent_proxy_connections = false
|
prevent_proxy_connections = false
|
||||||
@ -120,15 +129,22 @@ skin = true
|
|||||||
cape = true
|
cape = true
|
||||||
elytra = true
|
elytra = true
|
||||||
|
|
||||||
|
[networking.java.packet_limiter]
|
||||||
|
enabled = true
|
||||||
|
max_packet_rate = 500.0
|
||||||
|
burst_capacity = 500.0
|
||||||
|
kick_message = "Kicked for spamming packets"
|
||||||
|
|
||||||
[networking.bedrock]
|
[networking.bedrock]
|
||||||
enabled = true
|
enabled = true
|
||||||
address = "0.0.0.0:19132"
|
|
||||||
encryption = true
|
|
||||||
online_mode = true
|
online_mode = true
|
||||||
max_players = 1000
|
max_players = 1000
|
||||||
view_distance = 16
|
view_distance = 16
|
||||||
simulation_distance = 10
|
simulation_distance = 10
|
||||||
motd = "A blazingly fast Pumpkin server!"
|
motd = "A blazingly fast Pumpkin server!"
|
||||||
|
username_prefix = ""
|
||||||
|
replace_username_spaces = true
|
||||||
|
chunk_caching = true
|
||||||
|
|
||||||
[networking.bedrock.compression]
|
[networking.bedrock.compression]
|
||||||
enabled = true
|
enabled = true
|
||||||
@ -140,6 +156,18 @@ enabled = true
|
|||||||
connect_timeout = 5000
|
connect_timeout = 5000
|
||||||
read_timeout = 5000
|
read_timeout = 5000
|
||||||
|
|
||||||
|
[networking.bedrock.nethernet]
|
||||||
|
enabled = true
|
||||||
|
address = "0.0.0.0:19132"
|
||||||
|
identity_key = "nethernet-key.der"
|
||||||
|
stun_servers = []
|
||||||
|
|
||||||
|
[networking.bedrock.packet_limiter]
|
||||||
|
enabled = true
|
||||||
|
max_packet_rate = 500.0
|
||||||
|
burst_capacity = 500.0
|
||||||
|
kick_message = "Kicked for spamming packets"
|
||||||
|
|
||||||
[commands]
|
[commands]
|
||||||
use_console = true
|
use_console = true
|
||||||
use_tty = true
|
use_tty = true
|
||||||
@ -147,9 +175,18 @@ log_console = true
|
|||||||
broadcast_console_to_ops = true
|
broadcast_console_to_ops = true
|
||||||
default_op_level = 0
|
default_op_level = 0
|
||||||
|
|
||||||
|
[commands.overrides]
|
||||||
|
|
||||||
[chat]
|
[chat]
|
||||||
format = "<{DISPLAYNAME}> {MESSAGE}"
|
format = "<{DISPLAYNAME}> {MESSAGE}"
|
||||||
|
|
||||||
|
[chat.anti_spam]
|
||||||
|
enabled = true
|
||||||
|
spam_threshold = 200
|
||||||
|
message_cost = 20
|
||||||
|
decay_per_tick = 1
|
||||||
|
ops_bypass = true
|
||||||
|
|
||||||
[pvp]
|
[pvp]
|
||||||
enabled = true
|
enabled = true
|
||||||
hurt_animation = true
|
hurt_animation = true
|
||||||
@ -182,7 +219,17 @@ april_fools = true
|
|||||||
send_recipes = true
|
send_recipes = true
|
||||||
|
|
||||||
[plugins]
|
[plugins]
|
||||||
|
enabled = true
|
||||||
|
hot_reload = false
|
||||||
|
ask_permission_confirmation = true
|
||||||
|
allow_unsigned = true
|
||||||
|
allowed_permissions = []
|
||||||
blocked_permissions = []
|
blocked_permissions = []
|
||||||
|
inherit_env = false
|
||||||
|
loopback_only = false
|
||||||
|
verify_signatures = true
|
||||||
|
|
||||||
|
[plugins.overrides]
|
||||||
|
|
||||||
[advancement]
|
[advancement]
|
||||||
save_advancements = true
|
save_advancements = true
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
# Temel Yapılandırma
|
# Temel Yapılandırma
|
||||||
|
|
||||||
`pumpkin.toml` dosyasını temsil eder
|
`pumpkin.toml` dosyasını temsil eder
|
||||||
|
|
||||||
@ -9,7 +9,7 @@ Sunucunun bağlanacağı address.
|
|||||||
:::code-group
|
:::code-group
|
||||||
|
|
||||||
```toml
|
```toml
|
||||||
seed = "1785537519969227430"
|
seed = "1790155153199293024"
|
||||||
default_difficulty = "Normal"
|
default_difficulty = "Normal"
|
||||||
op_permission_level = 4
|
op_permission_level = 4
|
||||||
allow_nether = true
|
allow_nether = true
|
||||||
@ -27,9 +27,13 @@ enforce_whitelist = false
|
|||||||
|
|
||||||
[logging]
|
[logging]
|
||||||
enabled = true
|
enabled = true
|
||||||
threads = true
|
level = "info"
|
||||||
|
threads = false
|
||||||
|
thread_ids = false
|
||||||
|
target = false
|
||||||
color = true
|
color = true
|
||||||
timestamp = true
|
timestamp = true
|
||||||
|
timestamp_format = "[hour]:[minute]:[second]"
|
||||||
file = "latest.log"
|
file = "latest.log"
|
||||||
|
|
||||||
[resource_pack.java]
|
[resource_pack.java]
|
||||||
@ -46,7 +50,7 @@ packs = []
|
|||||||
|
|
||||||
[world]
|
[world]
|
||||||
lighting = "default"
|
lighting = "default"
|
||||||
autosave_ticks = 0
|
autosave_ticks = 6000
|
||||||
|
|
||||||
[world.chunk]
|
[world.chunk]
|
||||||
type = "anvil"
|
type = "anvil"
|
||||||
@ -57,7 +61,7 @@ algorithm = "LZ4"
|
|||||||
level = 6
|
level = 6
|
||||||
|
|
||||||
[networking.query]
|
[networking.query]
|
||||||
enabled = true
|
enabled = false
|
||||||
address = "0.0.0.0:25565"
|
address = "0.0.0.0:25565"
|
||||||
|
|
||||||
[networking.rcon]
|
[networking.rcon]
|
||||||
@ -81,6 +85,7 @@ secret = ""
|
|||||||
|
|
||||||
[networking.proxy.bungeecord]
|
[networking.proxy.bungeecord]
|
||||||
enabled = false
|
enabled = false
|
||||||
|
secret = ""
|
||||||
|
|
||||||
[networking.lan_broadcast]
|
[networking.lan_broadcast]
|
||||||
enabled = false
|
enabled = false
|
||||||
@ -93,6 +98,7 @@ online_mode = true
|
|||||||
max_players = 1000
|
max_players = 1000
|
||||||
view_distance = 16
|
view_distance = 16
|
||||||
simulation_distance = 10
|
simulation_distance = 10
|
||||||
|
keep_alive_time = 15
|
||||||
motd = "A blazingly fast Pumpkin server!"
|
motd = "A blazingly fast Pumpkin server!"
|
||||||
|
|
||||||
[networking.java.compression]
|
[networking.java.compression]
|
||||||
@ -102,6 +108,9 @@ level = 4
|
|||||||
|
|
||||||
[networking.java.authentication]
|
[networking.java.authentication]
|
||||||
enabled = true
|
enabled = true
|
||||||
|
fallbacks = []
|
||||||
|
profile_by_name_fallbacks = []
|
||||||
|
profile_by_uuid_fallbacks = []
|
||||||
connect_timeout = 5000
|
connect_timeout = 5000
|
||||||
read_timeout = 5000
|
read_timeout = 5000
|
||||||
prevent_proxy_connections = false
|
prevent_proxy_connections = false
|
||||||
@ -120,15 +129,22 @@ skin = true
|
|||||||
cape = true
|
cape = true
|
||||||
elytra = true
|
elytra = true
|
||||||
|
|
||||||
|
[networking.java.packet_limiter]
|
||||||
|
enabled = true
|
||||||
|
max_packet_rate = 500.0
|
||||||
|
burst_capacity = 500.0
|
||||||
|
kick_message = "Kicked for spamming packets"
|
||||||
|
|
||||||
[networking.bedrock]
|
[networking.bedrock]
|
||||||
enabled = true
|
enabled = true
|
||||||
address = "0.0.0.0:19132"
|
|
||||||
encryption = true
|
|
||||||
online_mode = true
|
online_mode = true
|
||||||
max_players = 1000
|
max_players = 1000
|
||||||
view_distance = 16
|
view_distance = 16
|
||||||
simulation_distance = 10
|
simulation_distance = 10
|
||||||
motd = "A blazingly fast Pumpkin server!"
|
motd = "A blazingly fast Pumpkin server!"
|
||||||
|
username_prefix = ""
|
||||||
|
replace_username_spaces = true
|
||||||
|
chunk_caching = true
|
||||||
|
|
||||||
[networking.bedrock.compression]
|
[networking.bedrock.compression]
|
||||||
enabled = true
|
enabled = true
|
||||||
@ -140,6 +156,18 @@ enabled = true
|
|||||||
connect_timeout = 5000
|
connect_timeout = 5000
|
||||||
read_timeout = 5000
|
read_timeout = 5000
|
||||||
|
|
||||||
|
[networking.bedrock.nethernet]
|
||||||
|
enabled = true
|
||||||
|
address = "0.0.0.0:19132"
|
||||||
|
identity_key = "nethernet-key.der"
|
||||||
|
stun_servers = []
|
||||||
|
|
||||||
|
[networking.bedrock.packet_limiter]
|
||||||
|
enabled = true
|
||||||
|
max_packet_rate = 500.0
|
||||||
|
burst_capacity = 500.0
|
||||||
|
kick_message = "Kicked for spamming packets"
|
||||||
|
|
||||||
[commands]
|
[commands]
|
||||||
use_console = true
|
use_console = true
|
||||||
use_tty = true
|
use_tty = true
|
||||||
@ -147,9 +175,18 @@ log_console = true
|
|||||||
broadcast_console_to_ops = true
|
broadcast_console_to_ops = true
|
||||||
default_op_level = 0
|
default_op_level = 0
|
||||||
|
|
||||||
|
[commands.overrides]
|
||||||
|
|
||||||
[chat]
|
[chat]
|
||||||
format = "<{DISPLAYNAME}> {MESSAGE}"
|
format = "<{DISPLAYNAME}> {MESSAGE}"
|
||||||
|
|
||||||
|
[chat.anti_spam]
|
||||||
|
enabled = true
|
||||||
|
spam_threshold = 200
|
||||||
|
message_cost = 20
|
||||||
|
decay_per_tick = 1
|
||||||
|
ops_bypass = true
|
||||||
|
|
||||||
[pvp]
|
[pvp]
|
||||||
enabled = true
|
enabled = true
|
||||||
hurt_animation = true
|
hurt_animation = true
|
||||||
@ -182,7 +219,17 @@ april_fools = true
|
|||||||
send_recipes = true
|
send_recipes = true
|
||||||
|
|
||||||
[plugins]
|
[plugins]
|
||||||
|
enabled = true
|
||||||
|
hot_reload = false
|
||||||
|
ask_permission_confirmation = true
|
||||||
|
allow_unsigned = true
|
||||||
|
allowed_permissions = []
|
||||||
blocked_permissions = []
|
blocked_permissions = []
|
||||||
|
inherit_env = false
|
||||||
|
loopback_only = false
|
||||||
|
verify_signatures = true
|
||||||
|
|
||||||
|
[plugins.overrides]
|
||||||
|
|
||||||
[advancement]
|
[advancement]
|
||||||
save_advancements = true
|
save_advancements = true
|
||||||
|
|||||||
@ -9,7 +9,7 @@
|
|||||||
:::code-group
|
:::code-group
|
||||||
|
|
||||||
```toml
|
```toml
|
||||||
seed = "1785537519969227430"
|
seed = "1790155153199293024"
|
||||||
default_difficulty = "Normal"
|
default_difficulty = "Normal"
|
||||||
op_permission_level = 4
|
op_permission_level = 4
|
||||||
allow_nether = true
|
allow_nether = true
|
||||||
@ -27,9 +27,13 @@ enforce_whitelist = false
|
|||||||
|
|
||||||
[logging]
|
[logging]
|
||||||
enabled = true
|
enabled = true
|
||||||
threads = true
|
level = "info"
|
||||||
|
threads = false
|
||||||
|
thread_ids = false
|
||||||
|
target = false
|
||||||
color = true
|
color = true
|
||||||
timestamp = true
|
timestamp = true
|
||||||
|
timestamp_format = "[hour]:[minute]:[second]"
|
||||||
file = "latest.log"
|
file = "latest.log"
|
||||||
|
|
||||||
[resource_pack.java]
|
[resource_pack.java]
|
||||||
@ -46,7 +50,7 @@ packs = []
|
|||||||
|
|
||||||
[world]
|
[world]
|
||||||
lighting = "default"
|
lighting = "default"
|
||||||
autosave_ticks = 0
|
autosave_ticks = 6000
|
||||||
|
|
||||||
[world.chunk]
|
[world.chunk]
|
||||||
type = "anvil"
|
type = "anvil"
|
||||||
@ -57,7 +61,7 @@ algorithm = "LZ4"
|
|||||||
level = 6
|
level = 6
|
||||||
|
|
||||||
[networking.query]
|
[networking.query]
|
||||||
enabled = true
|
enabled = false
|
||||||
address = "0.0.0.0:25565"
|
address = "0.0.0.0:25565"
|
||||||
|
|
||||||
[networking.rcon]
|
[networking.rcon]
|
||||||
@ -81,6 +85,7 @@ secret = ""
|
|||||||
|
|
||||||
[networking.proxy.bungeecord]
|
[networking.proxy.bungeecord]
|
||||||
enabled = false
|
enabled = false
|
||||||
|
secret = ""
|
||||||
|
|
||||||
[networking.lan_broadcast]
|
[networking.lan_broadcast]
|
||||||
enabled = false
|
enabled = false
|
||||||
@ -93,6 +98,7 @@ online_mode = true
|
|||||||
max_players = 1000
|
max_players = 1000
|
||||||
view_distance = 16
|
view_distance = 16
|
||||||
simulation_distance = 10
|
simulation_distance = 10
|
||||||
|
keep_alive_time = 15
|
||||||
motd = "A blazingly fast Pumpkin server!"
|
motd = "A blazingly fast Pumpkin server!"
|
||||||
|
|
||||||
[networking.java.compression]
|
[networking.java.compression]
|
||||||
@ -102,6 +108,9 @@ level = 4
|
|||||||
|
|
||||||
[networking.java.authentication]
|
[networking.java.authentication]
|
||||||
enabled = true
|
enabled = true
|
||||||
|
fallbacks = []
|
||||||
|
profile_by_name_fallbacks = []
|
||||||
|
profile_by_uuid_fallbacks = []
|
||||||
connect_timeout = 5000
|
connect_timeout = 5000
|
||||||
read_timeout = 5000
|
read_timeout = 5000
|
||||||
prevent_proxy_connections = false
|
prevent_proxy_connections = false
|
||||||
@ -120,15 +129,22 @@ skin = true
|
|||||||
cape = true
|
cape = true
|
||||||
elytra = true
|
elytra = true
|
||||||
|
|
||||||
|
[networking.java.packet_limiter]
|
||||||
|
enabled = true
|
||||||
|
max_packet_rate = 500.0
|
||||||
|
burst_capacity = 500.0
|
||||||
|
kick_message = "Kicked for spamming packets"
|
||||||
|
|
||||||
[networking.bedrock]
|
[networking.bedrock]
|
||||||
enabled = true
|
enabled = true
|
||||||
address = "0.0.0.0:19132"
|
|
||||||
encryption = true
|
|
||||||
online_mode = true
|
online_mode = true
|
||||||
max_players = 1000
|
max_players = 1000
|
||||||
view_distance = 16
|
view_distance = 16
|
||||||
simulation_distance = 10
|
simulation_distance = 10
|
||||||
motd = "A blazingly fast Pumpkin server!"
|
motd = "A blazingly fast Pumpkin server!"
|
||||||
|
username_prefix = ""
|
||||||
|
replace_username_spaces = true
|
||||||
|
chunk_caching = true
|
||||||
|
|
||||||
[networking.bedrock.compression]
|
[networking.bedrock.compression]
|
||||||
enabled = true
|
enabled = true
|
||||||
@ -140,6 +156,18 @@ enabled = true
|
|||||||
connect_timeout = 5000
|
connect_timeout = 5000
|
||||||
read_timeout = 5000
|
read_timeout = 5000
|
||||||
|
|
||||||
|
[networking.bedrock.nethernet]
|
||||||
|
enabled = true
|
||||||
|
address = "0.0.0.0:19132"
|
||||||
|
identity_key = "nethernet-key.der"
|
||||||
|
stun_servers = []
|
||||||
|
|
||||||
|
[networking.bedrock.packet_limiter]
|
||||||
|
enabled = true
|
||||||
|
max_packet_rate = 500.0
|
||||||
|
burst_capacity = 500.0
|
||||||
|
kick_message = "Kicked for spamming packets"
|
||||||
|
|
||||||
[commands]
|
[commands]
|
||||||
use_console = true
|
use_console = true
|
||||||
use_tty = true
|
use_tty = true
|
||||||
@ -147,9 +175,18 @@ log_console = true
|
|||||||
broadcast_console_to_ops = true
|
broadcast_console_to_ops = true
|
||||||
default_op_level = 0
|
default_op_level = 0
|
||||||
|
|
||||||
|
[commands.overrides]
|
||||||
|
|
||||||
[chat]
|
[chat]
|
||||||
format = "<{DISPLAYNAME}> {MESSAGE}"
|
format = "<{DISPLAYNAME}> {MESSAGE}"
|
||||||
|
|
||||||
|
[chat.anti_spam]
|
||||||
|
enabled = true
|
||||||
|
spam_threshold = 200
|
||||||
|
message_cost = 20
|
||||||
|
decay_per_tick = 1
|
||||||
|
ops_bypass = true
|
||||||
|
|
||||||
[pvp]
|
[pvp]
|
||||||
enabled = true
|
enabled = true
|
||||||
hurt_animation = true
|
hurt_animation = true
|
||||||
@ -182,7 +219,17 @@ april_fools = true
|
|||||||
send_recipes = true
|
send_recipes = true
|
||||||
|
|
||||||
[plugins]
|
[plugins]
|
||||||
|
enabled = true
|
||||||
|
hot_reload = false
|
||||||
|
ask_permission_confirmation = true
|
||||||
|
allow_unsigned = true
|
||||||
|
allowed_permissions = []
|
||||||
blocked_permissions = []
|
blocked_permissions = []
|
||||||
|
inherit_env = false
|
||||||
|
loopback_only = false
|
||||||
|
verify_signatures = true
|
||||||
|
|
||||||
|
[plugins.overrides]
|
||||||
|
|
||||||
[advancement]
|
[advancement]
|
||||||
save_advancements = true
|
save_advancements = true
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user