Reset git history for making manifests public

This commit is contained in:
2026-06-01 10:14:17 +02:00
commit 5a591f145d
403 changed files with 41983 additions and 0 deletions

View File

@@ -0,0 +1,230 @@
apiVersion: v1
kind: ConfigMap
metadata:
name: atm-ftbchunks
namespace: minecraft
data:
ftbchunks-world.snbt: |
# Server-specific configuration for FTB Chunks
# Modpack defaults should be defined in <instance>/config/ftbchunks-world.snbt
# (may be overwritten on modpack update)
# Server admins may locally override this by copying into <instance>/world/serverconfig/ftbchunks-world.snbt
# (will NOT be overwritten on modpack update)
{
# Forced modes won't let players change their ally settings
# Default: "default"
# Valid values: "default", "forced_all", "forced_none"
ally_mode: "default"
# Disables all land protection. Useful for private servers where everyone is trusted and claims are only used for force-loading
# Default: false
disable_protection: false
# Minimap for clients connecting to this server will be disabled
# Default: false
force_disable_minimap: false
# If true, "Location Visibility" team settings are ignored, and all players can see each other anywhere on the map.
# Default: false
location_mode_override: false
# Interval in ticks to send updates to clients with long-range player tracking data.
# Lower values mean more frequent updates but more server load and network traffic; be careful with this, especially on busy servers.
# Setting this to 0 disables long-range tracking.
# Default: 20
# Range: 0 ~ 2147483647
long_range_tracker_interval: 20
# Requires you to claim chunks in order to edit and interact with blocks
# Default: false
no_wilderness: false
# Dimension ID's where the no_wilderness rule is enforced - building is only allowed in claimed chunks. If this is non-empty, it overrides the 'no_wilderness' setting.
# Default: []
no_wilderness_dimensions: [ ]
# If true, pistons are prevented from pushing/pulling blocks across claims owned by different teams (unless the target claim has public 'edit block' permissions defined). If 'disable_protection' is set to true, this setting is ignored.
# Default: true
piston_protection: true
# When true, standard FTB Chunk explosion protection is applied in protected chunks when the source of the explosion cannot be determined
# (Ghast fireballs are a common case - vanilla supplies a null entity source)
# Default: true
protect_unknown_explosions: true
# Should PvP combat be allowed in claimed chunks? Default is ALWAYS; NEVER prevents it in all claimed chunks; PER_TEAM allows teams to decide if PvP is allowed in their claims
# Default: "always"
# Valid values: "always", "never", "per_team"
pvp_mode: "always"
# If true, the player must have the 'ftbchunks_mapping' Game stage to be able to use the map and minimap.
# Requires KubeJS and/or Gamestages to be installed.
# Default: false
require_game_stage: false
claiming: {
# Dimension ID's where chunks may not be claimed. Add "minecraft:the_end" to this list if you want to disable chunk claiming in The End, or "othermod:*" to disable chunk claiming in *all* dimensions added by "othermod"
# Default: []
claim_dimension_blacklist: [ ]
# Dimension ID's where chunks may be claimed. If non-empty, chunks may be claimed *only* in these dimensions (and the dimension is not in "claim_dimension_blacklist"). Same syntax as for "claim_dimension_blacklist".
# Default: []
claim_dimension_whitelist: [ ]
# Hard limit for the number of chunks a team can claim, regardless of how many members. Default of 0 means no hard limit.
# Default: 0
# Range: 0 ~ 2147483647
hard_team_claim_limit: 0
# Max claimed chunks.
# You can override this with FTB Ranks 'ftbchunks.max_claimed' permission
# Default: 500
# Range: -∞ ~ +∞
max_claimed_chunks: 500
# Maximum time (in real-world days) where if no player in a team logs in, the team automatically loses their claims.
# Prevents chunks being claimed indefinitely by teams who no longer play.
# Default of 0 means no automatic loss of claims.
# Default: 0.0
# Range: 0.0 ~ 3650.0
max_idle_days_before_unclaim: 0.0d
# Method by which party claim & force-load limits are calculated.
# LARGEST: use the limits of the member with the largest limits
# SUM: add up all the members' limits
# OWNER: use the party owner's limits only
# AVERAGE: use the average of all members' limits.
# Default: "largest"
# Valid values: "largest", "owner", "sum", "average"
party_limit_mode: "largest"
}
custom_behaviour: {
chunks_with_custom_y: [ ]
# Custom minimum Y level to scan when rendering map, used if use_custom_min_y_level is true
# Default: -32768
# Range: -32768 ~ 32767
custom_min_y_level: -32768
# Override minimum Y level used when rendering map
# Default: false
use_custom_min_y_level: false
}
dev: {
# Enable dev commands
# Default: false
commands: false
}
fake_players: {
# Override to disable/enable fake players like miners and auto-clickers globally.
# Default will check this setting for each team
# Default: "check"
# Valid values: "check", "deny", "allow"
fake_players: "check"
# Maximum time in days to keep logs of prevented fakeplayer access to a team's claims.
# Default: 7
# Range: 1 ~ 2147483647
max_prevented_log_age: 7
}
force_loading: {
# Control how force-loaded chunks work.
# NEVER: only allow chunk force-loading if the owning team has at least one online player.
# ALWAYS: always allow force-loading, even if no players are online.
# DEFAULT: allow force-loading IF the team has at least one player with the 'ftbchunks.chunk_load_offline' FTB Ranks permission.
# Default: "default"
# Valid values: "default", "always", "never"
force_load_mode: "always"
# Hard limit for the number of chunks a team can force-load, regardless of how many members. Default of 0 means no hard limit.
# Default: 0
# Range: 0 ~ 2147483647
hard_team_force_limit: 0
# Max force loaded chunks.
# You can override this with FTB Ranks 'ftbchunks.max_force_loaded' permission
# Default: 25
# Range: -∞ ~ +∞
max_force_loaded_chunks: 25
# Maximum time (in real-world days) where if no player in a team logs in, any forceloaded chunks owned by the team are no longer forceloaded.
# Prevents chunks being forceloaded indefinitely by teams who no longer play.
# Default of 0 means no automatic loss of forceloading.
# Default: 0.0
# Range: 0.0 ~ 3650.0
max_idle_days_before_unforce: 0.0d
}
team_prop_defaults: {
# Default explosion protection for claimed chunks
# Default: false
def_allow_explosions: false
# Default mode for block breaking and placing in claimed chunks (NeoForge only)
# Default: "allies"
# Valid values: "allies", "private", "public"
def_block_edit: "allies"
# Default mode for block interaction, breaking and placing in claimed chunks (Fabric only)
# Default: "allies"
# Valid values: "allies", "private", "public"
def_block_edit_interact: "allies"
# Default mode for block interaction (right-click) in claimed chunks (NeoForge only)
# Default: "allies"
# Valid values: "allies", "private", "public"
def_block_interact: "allies"
# Default claim visibility for claimed chunks
# Default: "public"
# Valid values: "allies", "private", "public"
def_claim_visibility: "public"
# Default mode for left-clicking non-living entities (armor stands, item frames...) in claimed chunks
# Default: "allies"
# Valid values: "allies", "private", "public"
def_entity_attack: "allies"
# Default mode for entity interaction in claimed chunks
# Default: "allies"
# Valid values: "allies", "private", "public"
def_entity_interact: "allies"
# Default allow fake player IDs which are the same as real permitted players
# Default: true
def_fake_player_ids: true
# Default allow-fake-player setting for team properties
# Default: false
def_fake_players: false
# Default mob griefing protection for claimed chunks
# Default: false
def_mob_griefing: false
# Default named fake players who should be allowed by default
# Default: []
def_named_fake_players: [ ]
# Default long-range player visibility on map
# Default: "allies"
# Valid values: "allies", "private", "public"
def_player_visibility: "allies"
# Default PvP setting in claimed chunks
# Default: true
def_pvp: true
}
waypoint_sharing: {
# Allow players to share waypoints with their party.
# Default: true
waypoint_sharing_party: true
# Allow players to share waypoints with other players.
# Default: true
waypoint_sharing_players: true
# Allow players to share waypoints with the entire server.
# Default: true
waypoint_sharing_server: true
}
}

View File

@@ -0,0 +1,386 @@
apiVersion: v1
kind: ConfigMap
metadata:
name: atm-ftbessentials
namespace: minecraft
data:
ftbessentials.snbt: |
# FTB Essentials config file
# If you're a modpack maker, edit defaultconfigs/ftbessentials-server.snbt instead
{
# If true, the mod will register its commands to the 'ftbessentials' namespace as well as the root namespace
# otherwise it will only register to the root namespace
# This setting has no effect if 'register_to_namespace' is false
# Default: false
register_alias_as_well_as_namespace: false
# If true, the mod will register its commands to the 'ftbessentials' namespace,
# otherwise it will register to the root namespace
# Default: false
register_to_namespace: false
# Admin commands for cheating and moderation
admin: {
# Allows admins to extinguish themselves or a player using a command
extinguish: {
# Default: true
enabled: true
}
# Allows admins to fully feed themselves or a player using a command
feed: {
# Default: true
enabled: true
}
# Allows admins to toggle flying status using a command, without having to use Creative Mode
fly: {
# Default: true
enabled: true
}
# Allows admins to toggle invincibility using a command, without having to use Creative Mode
god: {
# Default: true
enabled: true
}
# Allows admins to fully heal (health, food, fire, potion effects) themselves or a player using a command
heal: {
# Default: true
enabled: true
}
# Allows admins to view other users' inventories using a command
invsee: {
# Default: true
enabled: true
}
# Allows admins to configure kits of items that can be given to players.
kit: {
# Default: true
enabled: true
}
# Allows admins to restrict players from chatting by using a command to mute (or unmute) them
mute: {
# Default: true
enabled: true
}
# Allows admins to change walk speed for themselves or a player
speed: {
# Default: true
enabled: true
}
# Allows admins to change the location of offline players.
tp_offline: {
# Default: true
enabled: true
}
}
# Cross-mod integration
integration: {
# If true, and FTB Team Bases is installed, then the '/spawn' command will instead send players to the lobby
# Default: true
team_bases_spawn_override: true
}
# Miscellaneous features and utilities
misc: {
# Allows users to access an Anvil GUI without needing an Anvil.
anvil: {
# Default: true
enabled: true
}
# Allows users to access a Crafting Table GUI without needing a Crafting Table.
crafting: {
# Default: true
enabled: true
}
# Allows users to access their ender chest, as well as admins to manage other players' ender chests.
enderchest: {
# Default: true
enabled: true
}
# Allows users to set a custom hat as their head item by using a command
hat: {
# Default: true
enabled: true
}
# Allows users to kick themselves from the server, for example if they are stuck or desynced
kickme: {
# Default: true
enabled: true
}
# Allows users to view leaderboard stats about everyone on the server.
leaderboard: {
# Default: true
enabled: true
}
# Allows users to list nearby players, sorted by distance
near: {
# Default: true
enabled: true
}
# Allows users to change their display name, as well as admins to change nicknames for other users
nick: {
# Default: true
enabled: true
}
# Allows users to announce their recording or streaming status to the server by using commands
rec: {
# Default: true
enabled: true
}
# Allows users to access a Smithing Table GUI without needing a Smithing Table.
smithing: {
# Default: true
enabled: true
}
# Allows users to access a Stonecutter GUI without needing a Stonecutter.
stonecutter: {
# Default: true
enabled: true
}
# Enables usage of a trash can inventory, which can be used to void unneeded items
trashcan: {
# Default: true
enabled: true
}
}
# Teleportation-related settings
teleportation: {
# If true, admin-level players (i.e. permission level >= 2) are exempt from
# the dimension controls defined in teleportation -> blacklists and
# in teleportation -> rtp -> dimension_blacklist/whitelist
# Default: true
admins_exempt_dimension_blacklists: true
# Allows users to return to their previous location after teleporting (or dying)
back: {
# Cooldown between /back commands (in seconds)
# You can override this with FTB Ranks using ftbessentials.back.cooldown
# Default: 30
# Range: 0 ~ 604800
cooldown: 30
# Default: true
enabled: true
# Max size of the teleport history. This limits how many times you can use /back
# You can override this with FTB Ranks using ftbessentials.back.max
# Default: 10
# Range: 0 ~ 2147483647
max: 10
# Should be the /back command only be used for returning to the last death point?
# Default: false
only_on_death: false
# Warm-up time before /back command executes (in seconds)
# You can override this with FTB Ranks using ftbessentials.back.warmup
# Default: 0
# Range: 0 ~ 604800
warmup: 0
}
# Blacklists for all teleport commands
# Wildcarded dimensions (e.g. 'somemod:*') are supported
blacklists: {
# Dimensions players aren't permitted to run teleport commands in.
# Default: []
from: [ ]
# Dimensions players aren't permitted to teleport into.
# Default: []
to: [ ]
}
# Allows users to set 'homes', which they can then freely teleport to by using /home afterwards
home: {
# Cooldown between /home commands (in seconds)
# You can override this with FTB Ranks using ftbessentials.home.cooldown
# Default: 10
# Range: 0 ~ 604800
cooldown: 10
# Default: true
enabled: true
# The minimum Y value for homes, as set by the /sethome command
# Default: -2147483648
# Range: -∞ ~ +∞
home_min_y: -2147483648
# Max amount of homes a user can have.
# You can override this with FTB Ranks using ftbessentials.home.max
# Default: 1
# Range: 0 ~ 2147483647
max: 3
# Warm-up time before /home command executes (in seconds)
# You can override this with FTB Ranks using ftbessentials.home.warmup
# Default: 0
# Range: 0 ~ 604800
warmup: 0
}
# Allows admins to jump (teleport) to the focused block
jump: {
# Default: true
enabled: true
}
playerspawn: {
# Cooldown between /playerspawn commands (in seconds)
# You can override this with FTB Ranks using ftbessentials.playerspawn.cooldown
# Default: 10
# Range: 0 ~ 604800
cooldown: 10
# Default: true
enabled: true
# Warm-up time before /playerspawn command executes (in seconds)
# You can override this with FTB Ranks using ftbessentials.playerspawn.warmup
# Default: 0
# Range: 0 ~ 604800
warmup: 0
}
# Allows players to teleport to a random point in the Wilderness
# Note: This currently does not respect Claimed Chunks yet!
rtp: {
# Allow player to specify (only) custom max distance in rtp command
# You can override this with FTB Ranks using ftbessentials.rtp.custom_max
# Default: false
allow_custom_max_distance: false
# Allow player to specify custom min and max distance in rtp command
# You can override this with FTB Ranks using ftbessentials.rtp.custom_min_max
# Default: false
allow_custom_min_max_distance: false
# Cooldown between /rtp commands (in seconds)
# You can override this with FTB Ranks using ftbessentials.rtp.cooldown
# Default: 600
# Range: 0 ~ 604800
cooldown: 600
# Blacklisted dimension ID's for /rtp (player *must not* be in any of these dimensions)
# Wildcarded dimensions (e.g. 'somemod:*') are supported
# Default: ["minecraft:the_end"]
dimension_blacklist: ["minecraft:the_end"]
# Whitelisted dimension ID's for /rtp (if non-empty, player *must* be in one of these dimensions)
# Wildcarded dimensions (e.g. 'somemod:*') are supported
# Default: []
dimension_whitelist: [ ]
# Default: true
enabled: true
# /rtp max distance from spawn point
# Default: 25000
# Range: 0 ~ 30000000
max_distance: 25000
# Number of tries before /rtp gives up
# Default: 100
# Range: 1 ~ 1000
max_tries: 100
# /rtp min distance from spawn point
# Default: 500
# Range: 0 ~ 30000000
min_distance: 500
# Warm-up time before /rtp command executes (in seconds)
# You can override this with FTB Ranks using ftbessentials.rtp.warmup
# Default: 0
# Range: 0 ~ 604800
warmup: 0
}
spawn: {
# Cooldown between /spawn commands (in seconds)
# You can override this with FTB Ranks using ftbessentials.spawn.cooldown
# Default: 10
# Range: 0 ~ 604800
cooldown: 10
# Default: true
enabled: true
# Warm-up time before /spawn command executes (in seconds)
# You can override this with FTB Ranks using ftbessentials.spawn.warmup
# Default: 0
# Range: 0 ~ 604800
warmup: 0
}
# Allows players to create requests to teleport to other users on the server,
# as well as requesting other players to teleport to them
tpa: {
# Cooldown between /tpa commands (in seconds)
# You can override this with FTB Ranks using ftbessentials.tpa.cooldown
# Default: 10
# Range: 0 ~ 604800
cooldown: 10
# Default: true
enabled: true
# Warm-up time before /tpa command executes (in seconds)
# You can override this with FTB Ranks using ftbessentials.tpa.warmup
# Default: 0
# Range: 0 ~ 604800
warmup: 0
}
# Allows admins to teleport to the location a user was last seen at
tpl: {
# Default: true
enabled: true
}
# Allows admins to teleport to dimension
tpx: {
# Default: true
enabled: true
}
# Allows admins to create 'warps', which are fixed points in the world that users may teleport to using /warp
warp: {
# Cooldown between /warp commands (in seconds)
# You can override this with FTB Ranks using ftbessentials.warp.cooldown
# Default: 10
# Range: 0 ~ 604800
cooldown: 10
# Default: true
enabled: true
# Warm-up time before /warp command executes (in seconds)
# You can override this with FTB Ranks using ftbessentials.warp.warmup
# Default: 0
# Range: 0 ~ 604800
warmup: 0
}
}
}

View File

@@ -0,0 +1,15 @@
apiVersion: v1
kind: ConfigMap
metadata:
name: atm-ops
namespace: minecraft
data:
ops.json: |
[
{
"uuid": "e599e817-cf9d-4871-ad26-e6e239a55011",
"name": "DefNotJeffrey",
"level": 4,
"bypassesPlayerLimit": false
}
]

View File

@@ -0,0 +1,68 @@
apiVersion: v1
kind: ConfigMap
metadata:
name: atm-properties
namespace: minecraft
data:
server.properties: |
accepts-transfers=false
allow-flight=true
allow-nether=true
broadcast-console-to-ops=true
broadcast-rcon-to-ops=true
bug-report-link=
difficulty=easy
enable-command-block=false
enable-jmx-monitoring=false
enable-query=false
enable-rcon=true
enable-status=true
enforce-secure-profile=true
enforce-whitelist=false
entity-broadcast-range-percentage=100
force-gamemode=false
function-permission-level=2
gamemode=survival
generate-structures=true
generator-settings={}
hardcore=false
hide-online-players=false
initial-disabled-packs=
initial-enabled-packs=vanilla
level-name=world
level-seed=
level-type=minecraft\:normal
log-ips=true
max-chained-neighbor-updates=1000000
max-players=20
max-tick-time=180000
max-world-size=29999984
motd=All the Mods 10
network-compression-threshold=256
online-mode=true
op-permission-level=4
player-idle-timeout=0
prevent-proxy-connections=false
pvp=true
query.port=25565
rate-limit=0
rcon.password=J8SCfyqh2KC7NVstYK
rcon.port=25575
region-file-compression=deflate
require-resource-pack=false
resource-pack=
resource-pack-id=
resource-pack-prompt=
resource-pack-sha1=
server-ip=
server-port=25565
simulation-distance=10
spawn-animals=true
spawn-monsters=true
spawn-npcs=true
spawn-protection=16
sync-chunk-writes=true
text-filtering-config=
use-native-transport=true
view-distance=10
white-list=true

View File

@@ -0,0 +1,45 @@
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: atm-pvc
namespace: minecraft
spec:
accessModes:
- ReadWriteMany
storageClassName: longhorn-static
resources:
requests:
storage: 10Gi
---
apiVersion: v1
kind: PersistentVolume
metadata:
name: atm10-backups-smb
spec:
capacity:
storage: 5Gi
accessModes:
- ReadWriteMany
persistentVolumeReclaimPolicy: Retain
csi:
driver: smb.csi.k8s.io
volumeHandle: backups
volumeAttributes:
source: "//10.8.14.2/minecraft-backups"
nodeStageSecretRef:
name: minecraft-secrets
namespace: minecraft
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
namespace: minecraft
name: atm10-backups
spec:
accessModes:
- ReadWriteMany
resources:
requests:
storage: 1Gi
volumeName: atm10-backups-smb
storageClassName: ""

View File

@@ -0,0 +1,69 @@
apiVersion: apps/v1
kind: StatefulSet
metadata:
namespace: minecraft
name: atm
spec:
replicas: 1
selector:
matchLabels:
app: atm
serviceName: atm-loadbalancer
template:
metadata:
labels:
app: atm
spec:
restartPolicy: Always
terminationGracePeriodSeconds: 10
containers:
- name: atm
image: gitea.jsme.be/jeffrey/atm10:6.1
imagePullPolicy: Always
resources:
requests:
cpu: 2000m
memory: 8Gi
limits:
cpu: 4000m
memory: 12Gi
volumeMounts:
- name: world
mountPath: /opt/minecraft/world
- name: backups
mountPath: /opt/minecraft/backups
subPath: atm
- name: properties-file
mountPath: /opt/minecraft/server.properties
subPath: server.properties
- name: whitelist
mountPath: /opt/minecraft/whitelist.json
subPath: whitelist.json
- name: ftbessentials
mountPath: /opt/minecraft/config/ftbessentials.snbt
subPath: ftbessentials.snbt
- name: ops
mountPath: /opt/minecraft/ops.json
subPath: ops.json
ports:
- containerPort: 25565
- containerPort: 25575
volumes:
- name: world
persistentVolumeClaim:
claimName: atm-pvc
- name: backups
persistentVolumeClaim:
claimName: atm10-backups
- name: properties-file
configMap:
name: atm-properties
- name: whitelist
configMap:
name: atm-whitelist
- name: ftbessentials
configMap:
name: atm-ftbessentials
- name: ops
configMap:
name: atm-ops

View File

@@ -0,0 +1,19 @@
kind: Service
apiVersion: v1
metadata:
name: atm-loadbalancer
namespace: minecraft
spec:
ports:
- name: atm-tcp
port: 25565
targetPort: 25565
protocol: TCP
- name: rcon
port: 25575
targetPort: 25575
protocol: TCP
selector:
app: atm
type: LoadBalancer
externalTrafficPolicy: Local

View File

@@ -0,0 +1,80 @@
apiVersion: v1
kind: ConfigMap
metadata:
name: atm-backups
namespace: minecraft
data:
ftbbackups2.json: |
{
// Allow the creation of backups automatically
"enabled": true,
// Permission level to use the /backup command
"command_permission_level": 3,
// Only send backup status to server ops
"notify_op_only": true,
// Don't send backup status at all
"do_not_notify": false,
/* Backup retention mode. Valid Modes: MAX_BACKUPS, TIERED
Note: TIERED mode is an experimental feature, Use at your own risk.
*/
"retention_mode": "MAX_BACKUPS",
// Applies to retention_mode:MAX_BACKUPS, Sets the maximum number of backups to keep
"max_backups": 5,
// Applies to retention_mode:TIERED, The latest x number of backups will be retained
"keep_latest": 5,
// Applies to retention_mode:TIERED, Sets number of hourly backups to keep
"keep_hourly": 1,
// Applies to retention_mode:TIERED, Sets number of daily backups to keep
"keep_daily": 1,
// Applies to retention_mode:TIERED, Sets number of weekly backups to keep
"keep_weekly": 1,
// Applies to retention_mode:TIERED, Sets number of monthly backups to keep
"keep_monthly": 1,
/* This is done with an implementation of cron from the Quartz java library.
More info here
(http://www.cronmaker.com)
*/
"backup_cron": "0 */30 * * * ?",
// Time between manual backups using the command
"manual_backups_time": 0,
// Only run a backup if a player has been online since the last backup
"only_if_players_been_online": true,
// Additional directories to include in backup
"additional_directories": [],
/* Additional files and directories to include in backup.
Can specify a file name, path relative to server directory or wildcard file path
Examples: (All file paths are relative to server root)
fileName.txt Any/all file named "fileName.txt"
folder/file.txt Exact file path
folder/ Everything in this folder
path/starts/with* Any files who's path starts with
*path/ends/with.txt Any files who's path ends with
*path/contains* Any files who's path contains
*/
"additional_files": [],
// Display file size in backup message
"display_file_size": false,
// backup location
"backup_location": ".",
// Specify the backup format. Valid options are ZIP and DIRECTORY
"backup_format": "ZIP",
// Minimum free disk space in MB. If a backup's creation would leave less than this amount of disk space remaining, the backup will be aborted.
"minimum_free_space": 500,
// If the previous backup failed due to lack of space, the oldest backup will be deleted to free space.
"free_space_if_needed": false,
/* Specify files or folders to be excluded.
Can specify a file name, path relative to server directory or wildcard file path
Examples: (All file paths are relative to server root)
fileName.txt Any/all file named "fileName.txt"
folder/file.txt Exact file path
folder/ Everything in this folder
path/starts/with* Any files who's path starts with
*path/ends/with.txt Any files who's path ends with
*path/contains* Any files who's path contains
*/
"excluded": [],
/* The dimension used when creating backup preview image, specify "all" to enable automatic detection of primary dimension (can be very slow)
Specify "none" to disable preview
*/
"preview_dimension": "minecraft:overworld"
}

View File

@@ -0,0 +1,13 @@
apiVersion: v1
kind: ConfigMap
metadata:
name: atm-whitelist
namespace: minecraft
data:
whitelist.json: |
[
{
"uuid": "e599e817-cf9d-4871-ad26-e6e239a55011",
"name": "DefNotJeffrey"
}
]

View File

@@ -0,0 +1,80 @@
apiVersion: v1
kind: ConfigMap
metadata:
name: homestead-backups
namespace: minecraft
data:
ftbbackups2.json: |
{
// Allow the creation of backups automatically
"enabled": true,
// Permission level to use the /backup command
"command_permission_level": 3,
// Only send backup status to server ops
"notify_op_only": true,
// Don't send backup status at all
"do_not_notify": false,
/* Backup retention mode. Valid Modes: MAX_BACKUPS, TIERED
Note: TIERED mode is an experimental feature, Use at your own risk.
*/
"retention_mode": "MAX_BACKUPS",
// Applies to retention_mode:MAX_BACKUPS, Sets the maximum number of backups to keep
"max_backups": 8,
// Applies to retention_mode:TIERED, The latest x number of backups will be retained
"keep_latest": 5,
// Applies to retention_mode:TIERED, Sets number of hourly backups to keep
"keep_hourly": 3,
// Applies to retention_mode:TIERED, Sets number of daily backups to keep
"keep_daily": 2,
// Applies to retention_mode:TIERED, Sets number of weekly backups to keep
"keep_weekly": 2,
// Applies to retention_mode:TIERED, Sets number of monthly backups to keep
"keep_monthly": 1,
/* This is done with an implementation of cron from the Quartz java library.
More info here
(http://www.cronmaker.com)
*/
"backup_cron": "0 */30 * * * ?",
// Time between manual backups using the command
"manual_backups_time": 0,
// Only run a backup if a player has been online since the last backup
"only_if_players_been_online": true,
// Additional directories to include in backup
"additional_directories": [],
/* Additional files and directories to include in backup.
Can specify a file name, path relative to server directory or wildcard file path
Examples: (All file paths are relative to server root)
fileName.txt Any/all file named "fileName.txt"
folder/file.txt Exact file path
folder/ Everything in this folder
path/starts/with* Any files who's path starts with
*path/ends/with.txt Any files who's path ends with
*path/contains* Any files who's path contains
*/
"additional_files": [],
// Display file size in backup message
"display_file_size": false,
// backup location
"backup_location": ".",
// Specify the backup format. Valid options are ZIP and DIRECTORY
"backup_format": "ZIP",
// Minimum free disk space in MB. If a backup's creation would leave less than this amount of disk space remaining, the backup will be aborted.
"minimum_free_space": 500,
// If the previous backup failed due to lack of space, the oldest backup will be deleted to free space.
"free_space_if_needed": false,
/* Specify files or folders to be excluded.
Can specify a file name, path relative to server directory or wildcard file path
Examples: (All file paths are relative to server root)
fileName.txt Any/all file named "fileName.txt"
folder/file.txt Exact file path
folder/ Everything in this folder
path/starts/with* Any files who's path starts with
*path/ends/with.txt Any files who's path ends with
*path/contains* Any files who's path contains
*/
"excluded": [],
/* The dimension used when creating backup preview image, specify "all" to enable automatic detection of primary dimension (can be very slow)
Specify "none" to disable preview
*/
"preview_dimension": "minecraft:overworld"
}

View File

@@ -0,0 +1,21 @@
apiVersion: v1
kind: ConfigMap
metadata:
name: homestead-ops
namespace: minecraft
data:
ops.json: |
[
{
"uuid": "e599e817-cf9d-4871-ad26-e6e239a55011",
"name": "DefNotJeffrey",
"level": 4,
"bypassesPlayerLimit": false
},
{
"uuid": "2c6f52c4-7c98-46a7-9014-34a6781eed64",
"name": "Splakra",
"level": 4,
"bypassesPlayerLimit": false
}
]

View File

@@ -0,0 +1,68 @@
apiVersion: v1
kind: ConfigMap
metadata:
name: homestead-properties
namespace: minecraft
data:
server.properties: |
#Minecraft server properties
#Tue Feb 17 11:09:00 UTC 2026
enable-jmx-monitoring=false
level-seed=
rcon.port=25575
enable-command-block=false
gamemode=survival
enable-query=true
generator-settings={}
enforce-secure-profile=true
level-name=world
motd= \u00A7fJ\u00A7bS\u00A7fM\u00A7bE\u00A7f -\u00A7b \u00A7fHomestead - \u00A7cM\u00A76a\u00A7ei\u00A7as\u00A7b \u00A7fi\u00A7bs\u00A7f \u00A7dg\u00A76a\u00A7ey
query.port=26785
pvp=true
generate-structures=true
max-chained-neighbor-updates=1000000
difficulty=easy
network-compression-threshold=256
max-tick-time=60000
require-resource-pack=false
max-players=10
use-native-transport=true
enable-status=true
online-mode=true
allow-flight=true
initial-disabled-packs=
broadcast-rcon-to-ops=true
view-distance=10
max-build-height=256
resource-pack-prompt=
server-ip=
allow-nether=true
server-port=25565
enable-rcon=true
sync-chunk-writes=true
op-permission-level=4
server-name=Homestead <3
prevent-proxy-connections=false
hide-online-players=false
resource-pack=
entity-broadcast-range-percentage=100
simulation-distance=10
player-idle-timeout=0
rcon.password=2MfL2ccZqMFfLtkRvf
force-gamemode=false
rate-limit=0
hardcore=false
white-list=false
broadcast-console-to-ops=true
spawn-npcs=true
spawn-animals=true
snooper-enabled=true
function-permission-level=2
initial-enabled-packs=vanilla
level-type=default
text-filtering-config=
spawn-monsters=true
enforce-whitelist=false
resource-pack-sha1=
spawn-protection=0
max-world-size=29999984

View File

@@ -0,0 +1,45 @@
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: homestead-pvc
namespace: minecraft
spec:
accessModes:
- ReadWriteMany
storageClassName: longhorn-static
resources:
requests:
storage: 30Gi
---
apiVersion: v1
kind: PersistentVolume
metadata:
name: minecraft-backups-smb
spec:
capacity:
storage: 5Gi
accessModes:
- ReadWriteMany
persistentVolumeReclaimPolicy: Retain
csi:
driver: smb.csi.k8s.io
volumeHandle: backups
volumeAttributes:
source: "//10.8.14.2/minecraft-backups"
nodeStageSecretRef:
name: minecraft-secrets
namespace: minecraft
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
namespace: minecraft
name: minecraft-backups
spec:
accessModes:
- ReadWriteMany
resources:
requests:
storage: 1Gi
volumeName: minecraft-backups-smb
storageClassName: ""

View File

@@ -0,0 +1,87 @@
apiVersion: apps/v1
kind: StatefulSet
metadata:
namespace: minecraft
name: homestead
spec:
replicas: 1
selector:
matchLabels:
app: homestead
serviceName: homestead-loadbalancer
template:
metadata:
labels:
app: homestead
spec:
restartPolicy: Always
terminationGracePeriodSeconds: 10
containers:
- name: homestead
image: gitea.jsme.be/jeffrey/homestead:v1.2.9.4
resources:
requests:
memory: "4Gi"
cpu: "2"
limits:
memory: "12Gi"
cpu: "3"
imagePullPolicy: Always
volumeMounts:
- name: world
mountPath: /opt/minecraft/world
- name: backups
mountPath: /opt/minecraft/backups
subPath: homestead
- name: properties-file
mountPath: /opt/minecraft/server.properties
subPath: server.properties
# - name: whitelist
# mountPath: /opt/minecraft/whitelist.json
# subPath: whitelist.json
- name: variables
mountPath: /opt/minecraft/variables.txt
subPath: variables.txt
- name: ops
mountPath: /opt/minecraft/ops.json
subPath: ops.json
- name: voicechat
mountPath: /opt/minecraft/config/voicechat/voicechat-server.properties
subPath: voicechat-server.properties
- name: ysns
mountPath: /opt/minecraft/config/ysns/disabled_entities.json5
subPath: disabled_entities.json5
- name: ysns
mountPath: /opt/minecraft/config/ysns/per_dimension_entities.json5
subPath: per_dimension_entities.json5
ports:
- containerPort: 25565
- containerPort: 25575
- containerPort: 19565
- containerPort: 24454
protocol: UDP
volumes:
- name: world
persistentVolumeClaim:
claimName: homestead-pvc
- name: backups
persistentVolumeClaim:
claimName: minecraft-backups
- name: properties-file
configMap:
name: homestead-properties
# - name: whitelist
# configMap:
# name: homestead-whitelist
- name: variables
configMap:
name: homestead-variables
- name: ops
configMap:
name: homestead-ops
- name: voicechat
configMap:
name: homestead-voicechat
- name: ysns
configMap:
name: homestead-ysns

View File

@@ -0,0 +1,32 @@
kind: Service
apiVersion: v1
metadata:
name: homestead-loadbalancer
namespace: minecraft
labels:
app: homestead
annotations:
metallb.universe.tf/loadBalancerIPs: "10.8.11.102"
spec:
ports:
- name: homestead-tcp
port: 25565
targetPort: 25565
protocol: TCP
- name: rcon
port: 25575
targetPort: 25575
protocol: TCP
- name: prometheus
port: 19565
targetPort: 19565
protocol: TCP
- name: voice-chat
port: 24454
targetPort: 24454
protocol: UDP
selector:
app: homestead
type: LoadBalancer
externalTrafficPolicy: Local

View File

@@ -0,0 +1,26 @@
apiVersion: v1
kind: ConfigMap
metadata:
name: homestead-variables
namespace: minecraft
data:
variables.txt: |
MINECRAFT_VERSION=1.20.1
MODLOADER=Fabric
MODLOADER_VERSION=0.17.2
LEGACYFABRIC_INSTALLER_VERSION=1.1.1
FABRIC_INSTALLER_VERSION=1.1.1
QUILT_INSTALLER_VERSION=0.12.1
RECOMMENDED_JAVA_VERSION=17
JAVA_ARGS="-Xmx8G -Xms4G"
JAVA="java"
WAIT_FOR_USER_INPUT=true
ADDITIONAL_ARGS=-Dlog4j2.formatMsgNoLookups=true
RESTART=false
SKIP_JAVA_CHECK=false
JDK_VENDOR=temurin
JABBA_INSTALL_URL_SH=https://github.com/Jabba-Team/jabba/raw/main/install.sh
JABBA_INSTALL_URL_PS=https://github.com/Jabba-Team/jabba/raw/main/install.ps1
JABBA_INSTALL_VERSION=0.13.0
SERVERSTARTERJAR_FORCE_FETCH=true
SERVERSTARTERJAR_VERSION=latest

View File

@@ -0,0 +1,59 @@
apiVersion: v1
kind: ConfigMap
metadata:
name: homestead-voicechat
namespace: minecraft
data:
voicechat-server.properties: |
# Simple Voice Chat server config v1.20.1-2.6.10
# The port number to use for the voice chat communication.
# Audio packets are always transmitted via the UDP protocol on the port number
# specified here, independently of other networking used for the game server.
# Set this to '-1' to use the same port number that is used by the Minecraft server.
# However, it is strongly recommended NOT to use the same port number because UDP on
# it is also used by default for the server query. Doing so may crash the server!
port=24454
# The server IP address to bind the voice chat to
# Leave blank to use the 'server-ip' property from the 'server.properties' config file
# To bind to the wildcard IP address, use '*'
bind_address=*
# The distance to which the voice can be heard
max_voice_distance=48.0
# The distance to which the voice can be heard when whispering
whisper_distance=24.0
# The Opus codec
# Valid values are 'VOIP', 'AUDIO', and 'RESTRICTED_LOWDELAY'
codec=VOIP
# The maximum size that audio packets are allowed to have (in bytes)
# Set this to a lower value if audio packets don't arrive
mtu_size=1024
# The frequency at which keep-alive packets are sent (in milliseconds)
# Setting this to a higher value may result in timeouts
keep_alive=1000
# If group chats are allowed
enable_groups=true
# The hostname that clients should use to connect to the voice chat
# This may also include a port, e.g. 'example.com:24454' or just a port, e.g. '24454'
# Do NOT change this value if you don't know what you're doing
voice_host=
# If players are allowed to record the voice chat audio
allow_recording=true
# If spectators are allowed to talk to other players
spectator_interaction=false
# If spectators can talk to players they are spectating
spectator_player_possession=false
# If players without the voice chat mod should be kicked from the server
force_voice_chat=false
# The amount of time the server should wait to check if a player has the mod installed (in milliseconds)
# Only relevant when 'force_voice_chat' is set to 'true'
login_timeout=10000
# The range in which the voice chat should broadcast audio
# A value less than 0 means 'max_voice_distance'
broadcast_range=-1.0
# If the voice chat server should reply to external pings
allow_pings=true
# If the mod should load native libraries on dedicated servers
# This is mostly relevant for voice chat addons
use_natives=true

View File

@@ -0,0 +1,66 @@
apiVersion: v1
kind: ConfigMap
metadata:
name: homestead-ysns
namespace: minecraft
data:
disabled_entities.json5: |
{
// ----------------------------------------------------------------------------------------------------------------
// You Shall Not Spawn by ElocinDev.
// disabled_entities.json5
// ----------------------------------------------------------------------------------------------------------------
//
// Here you can disable entities from spawning globally, with no exceptions.
// Format: "modid:entity_name"
// Example: "minecraft:zombie"
//
// Note: As a more advanced method, you can use regex by starting the entry with !
// Format: "!{Regular expression}"
// Example: "!minecraft:.*" will disable all entities from minecraft. (NOT RECOMMENDED, JUST AN EXAMPLE)
//
"disabled": [
"eldritch_end:the_faceless",
"eldritch_end:eye",
"cozystudioscore:mushling"
],
// Don't touch this!
"CONFIG_VERSION": 1
}
per_dimension_entities.json5: |
{
// ----------------------------------------------------------------------------------------------------------------
// You Shall Not Spawn by ElocinDev.
// per_dimension_entities.json5
// ----------------------------------------------------------------------------------------------------------------
//
// entity: The entity's id you want to adjust. (For example: minecraft:zombie, regex can be used.)
// dimension: The dimension id you want to adjust. (For example: minecraft:overworld, regex can be used.)
// spawn_chance: The chance of the entity spawning. (For example: 0.1 is 10%, 0.5 is 50%, 0.0 will disable the spawn.)
//
// The example below adds a modifier for the zombie, with 1.0 spawn chance (100%).
// By default, this does nothing, but you for example set the spawn chance to 0.5, making zombies spawn half the time they usually do.
//
// YSNS CAN'T INCREASE SPAWN RATES! ANYTHING ABOVE 1.0 WILL NOT INCREASE SPAWNRATE!
//
// Note: As a more advanced method, you can use regex by starting the entry with !
// With regex, you can do things such as disabling multiple entities in a single entry, or cover multiple (or all) dimensions
// Format: "!{Regular expression}"
// Example: "!minecraft:.*" will disable all entities from minecraft. (NOT RECOMMENDED, JUST AN EXAMPLE)
//
// Regex works on both entity and dimension entries.
"dimensions": [
{
"entityId": "minecraft:zombie",
"dimension": "minecraft:overworld",
"spawn_chance": 1.0
},
{
"entityId": "cozystudioscore:mushling",
"dimension": "minecraft:overworld",
"spawn_chance": 0.0
}
],
// Don't touch this!
"CONFIG_VERSION": 1
}

View File

@@ -0,0 +1,13 @@
apiVersion: v1
kind: ConfigMap
metadata:
name: homestead-whitelist
namespace: minecraft
data:
whitelist.json: |
[
{
"uuid": "e599e817-cf9d-4871-ad26-e6e239a55011",
"name": "DefNotJeffrey"
}
]

View File

@@ -0,0 +1,50 @@
apiVersion: apps/v1
kind: Deployment
metadata:
namespace: minecraft
name: stacia
spec:
replicas: 1
selector:
matchLabels:
app: stacia
template:
metadata:
labels:
app: stacia
spec:
restartPolicy: Always
terminationGracePeriodSeconds: 10
containers:
- name: stacia
image: gitea.jsme.be/jeffrey/stacia:1.3.3
imagePullPolicy: Always
resources:
requests:
cpu: 1000m
memory: 4Gi
limits:
cpu: 2000m
memory: 8Gi
volumeMounts:
- name: world
mountPath: /opt/minecraft/world
- name: backups
mountPath: /opt/minecraft/backups
subPath: stacia
- name: properties-file
mountPath: /opt/minecraft/server.properties
subPath: server.properties
ports:
- containerPort: 25565
- containerPort: 25575
volumes:
- name: world
persistentVolumeClaim:
claimName: stacia-pvc
- name: backups
persistentVolumeClaim:
claimName: minecraft-backups
- name: properties-file
configMap:
name: stacia-properties

View File

@@ -0,0 +1,63 @@
apiVersion: v1
kind: ConfigMap
metadata:
name: stacia-properties
namespace: minecraft
data:
server.properties: |
#Minecraft server properties
allow-flight=true
allow-nether=true
broadcast-console-to-ops=true
broadcast-rcon-to-ops=true
difficulty=easy
enable-command-block=false
enable-jmx-monitoring=false
enable-query=false
enable-rcon=true
enable-status=true
enforce-secure-profile=true
enforce-whitelist=false
entity-broadcast-range-percentage=100
force-gamemode=false
function-permission-level=2
gamemode=survival
generate-structures=true
generator-settings={}
hardcore=false
hide-online-players=false
level-name=world
level-seed=
level-type=minecraft\:normal
max-chained-neighbor-updates=1000000
max-players=20
max-tick-time=60000
max-world-size=29999984
motd=A Minecraft Server
network-compression-threshold=256
online-mode=true
op-permission-level=4
player-idle-timeout=0
prevent-proxy-connections=false
previews-chat=false
pvp=true
query.port=25565
rate-limit=0
rcon.password=425044559Jj?
rcon.port=25575
require-resource-pack=false
resource-pack=
resource-pack-prompt=
resource-pack-sha1=
server-ip=
server-port=25565
simulation-distance=10
spawn-animals=true
spawn-monsters=true
spawn-npcs=true
spawn-protection=16
sync-chunk-writes=true
text-filtering-config=
use-native-transport=true
view-distance=10
white-list=false

View File

@@ -0,0 +1,45 @@
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: stacia-pvc
namespace: minecraft
spec:
accessModes:
- ReadWriteMany
storageClassName: longhorn-static
resources:
requests:
storage: 10Gi
---
apiVersion: v1
kind: PersistentVolume
metadata:
name: minecraft-backups-smb
spec:
capacity:
storage: 5Gi
accessModes:
- ReadWriteMany
persistentVolumeReclaimPolicy: Retain
csi:
driver: smb.csi.k8s.io
volumeHandle: backups
volumeAttributes:
source: "//10.8.14.2/minecraft-backups"
nodeStageSecretRef:
name: minecraft-secrets
namespace: minecraft
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
namespace: minecraft
name: minecraft-backups
spec:
accessModes:
- ReadWriteMany
resources:
requests:
storage: 1Gi
volumeName: minecraft-backups-smb
storageClassName: ""

View File

@@ -0,0 +1,51 @@
apiVersion: apps/v1
kind: StatefulSet
metadata:
namespace: minecraft
name: stacia
spec:
replicas: 1
selector:
matchLabels:
app: stacia
serviceName: stacia-loadbalancer
template:
metadata:
labels:
app: stacia
spec:
restartPolicy: Always
terminationGracePeriodSeconds: 10
containers:
- name: stacia
image: gitea.jsme.be/jeffrey/stacia:1.3.3
imagePullPolicy: Always
resources:
requests:
cpu: 1000m
memory: 4Gi
limits:
cpu: 2000m
memory: 8Gi
volumeMounts:
- name: world
mountPath: /opt/minecraft/world
- name: backups
mountPath: /opt/minecraft/backups
subPath: stacia
- name: properties-file
mountPath: /opt/minecraft/server.properties
subPath: server.properties
ports:
- containerPort: 25565
- containerPort: 25575
volumes:
- name: world
persistentVolumeClaim:
claimName: stacia-pvc
- name: backups
persistentVolumeClaim:
claimName: minecraft-backups
- name: properties-file
configMap:
name: stacia-properties

View File

@@ -0,0 +1,19 @@
kind: Service
apiVersion: v1
metadata:
name: stacia-loadbalancer
namespace: minecraft
spec:
ports:
- name: stacia-tcp
port: 25565
targetPort: 25565
protocol: TCP
- name: rcon
port: 25575
targetPort: 25575
protocol: TCP
selector:
app: stacia
type: LoadBalancer
externalTrafficPolicy: Local