-
Notifications
You must be signed in to change notification settings - Fork 3
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat(minecraft): setup public server #4425
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Quality Gate passedIssues Measures |
--- kubernetes/talos-flux/apps Kustomization: flux-system/apps-sync Namespace: flux-system/gaming-public
+++ kubernetes/talos-flux/apps Kustomization: flux-system/apps-sync Namespace: flux-system/gaming-public
@@ -0,0 +1,10 @@
+---
+apiVersion: v1
+kind: Namespace
+metadata:
+ labels:
+ kustomize.toolkit.fluxcd.io/name: apps-sync
+ kustomize.toolkit.fluxcd.io/namespace: flux-system
+ kustomize.toolkit.fluxcd.io/prune: disabled
+ name: gaming-public
+
--- kubernetes/talos-flux/apps Kustomization: flux-system/apps-sync Kustomization: flux-system/minecraft-public-velocity-proxy
+++ kubernetes/talos-flux/apps Kustomization: flux-system/apps-sync Kustomization: flux-system/minecraft-public-velocity-proxy
@@ -0,0 +1,38 @@
+---
+apiVersion: kustomize.toolkit.fluxcd.io/v1
+kind: Kustomization
+metadata:
+ labels:
+ kustomize.toolkit.fluxcd.io/name: apps-sync
+ kustomize.toolkit.fluxcd.io/namespace: flux-system
+ substitution.flux.home.arpa/enabled: 'true'
+ name: minecraft-public-velocity-proxy
+ namespace: flux-system
+spec:
+ commonMetadata:
+ labels:
+ app.kubernetes.io/name: minecraft-public-velocity-proxy
+ decryption:
+ provider: sops
+ secretRef:
+ name: sops-age
+ dependsOn:
+ - name: cilium-config
+ - name: apps-external-secrets-stores
+ interval: 30m
+ path: ./kubernetes/talos-flux/apps/gaming-public/minecraft-java/velocity-proxy
+ postBuild:
+ substituteFrom:
+ - kind: ConfigMap
+ name: cluster-settings
+ - kind: Secret
+ name: cluster-secrets
+ prune: true
+ retryInterval: 1m
+ sourceRef:
+ kind: GitRepository
+ name: home-ops
+ targetNamespace: gaming-public
+ timeout: 5m
+ wait: true
+
--- kubernetes/talos-flux/apps Kustomization: flux-system/apps-sync Kustomization: flux-system/minecraft-public-playground-world
+++ kubernetes/talos-flux/apps Kustomization: flux-system/apps-sync Kustomization: flux-system/minecraft-public-playground-world
@@ -0,0 +1,38 @@
+---
+apiVersion: kustomize.toolkit.fluxcd.io/v1
+kind: Kustomization
+metadata:
+ labels:
+ kustomize.toolkit.fluxcd.io/name: apps-sync
+ kustomize.toolkit.fluxcd.io/namespace: flux-system
+ substitution.flux.home.arpa/enabled: 'true'
+ name: minecraft-public-playground-world
+ namespace: flux-system
+spec:
+ commonMetadata:
+ labels:
+ app.kubernetes.io/name: minecraft-public-playground-world
+ decryption:
+ provider: sops
+ secretRef:
+ name: sops-age
+ dependsOn:
+ - name: minecraft-public-velocity-proxy
+ - name: apps-rook-ceph-cluster
+ interval: 30m
+ path: ./kubernetes/talos-flux/apps/gaming-public/minecraft-java/playground-world
+ postBuild:
+ substituteFrom:
+ - kind: ConfigMap
+ name: cluster-settings
+ - kind: Secret
+ name: cluster-secrets
+ prune: true
+ retryInterval: 1m
+ sourceRef:
+ kind: GitRepository
+ name: home-ops
+ targetNamespace: gaming-public
+ timeout: 5m
+ wait: true
+
--- kubernetes/talos-flux/apps/gaming-public/minecraft-java/velocity-proxy Kustomization: flux-system/minecraft-public-velocity-proxy PersistentVolumeClaim: gaming-public/minecraft-public-velocity-proxy-data
+++ kubernetes/talos-flux/apps/gaming-public/minecraft-java/velocity-proxy Kustomization: flux-system/minecraft-public-velocity-proxy PersistentVolumeClaim: gaming-public/minecraft-public-velocity-proxy-data
@@ -0,0 +1,18 @@
+---
+apiVersion: v1
+kind: PersistentVolumeClaim
+metadata:
+ labels:
+ app.kubernetes.io/name: minecraft-public-velocity-proxy
+ kustomize.toolkit.fluxcd.io/name: minecraft-public-velocity-proxy
+ kustomize.toolkit.fluxcd.io/namespace: flux-system
+ name: minecraft-public-velocity-proxy-data
+ namespace: gaming-public
+spec:
+ accessModes:
+ - ReadWriteOnce
+ resources:
+ requests:
+ storage: 2Gi
+ storageClassName: ceph-block
+
--- kubernetes/talos-flux/apps/gaming-public/minecraft-java/velocity-proxy Kustomization: flux-system/minecraft-public-velocity-proxy HelmRelease: gaming-public/minecraft-public-velocity-proxy
+++ kubernetes/talos-flux/apps/gaming-public/minecraft-java/velocity-proxy Kustomization: flux-system/minecraft-public-velocity-proxy HelmRelease: gaming-public/minecraft-public-velocity-proxy
@@ -0,0 +1,142 @@
+---
+apiVersion: helm.toolkit.fluxcd.io/v2
+kind: HelmRelease
+metadata:
+ labels:
+ app.kubernetes.io/name: minecraft-public-velocity-proxy
+ kustomize.toolkit.fluxcd.io/name: minecraft-public-velocity-proxy
+ kustomize.toolkit.fluxcd.io/namespace: flux-system
+ name: minecraft-public-velocity-proxy
+ namespace: gaming-public
+spec:
+ chart:
+ spec:
+ chart: app-template
+ sourceRef:
+ kind: HelmRepository
+ name: bjw-s-charts
+ namespace: flux-system
+ version: 3.6.1
+ driftDetection:
+ mode: enabled
+ install:
+ createNamespace: true
+ remediation:
+ retries: 3
+ interval: 15m
+ upgrade:
+ remediation:
+ retries: 3
+ values:
+ controllers:
+ velocity:
+ annotations:
+ reloader.stakater.com/auto: 'true'
+ containers:
+ app:
+ env:
+ ENABLE_RCON: 'true'
+ GID: '1000'
+ MEMORY: 256M
+ PLUGINS: https://download.geysermc.org/v2/projects/geyser/versions/latest/builds/latest/downloads/velocity,https://download.geysermc.org/v2/projects/floodgate/versions/latest/builds/latest/downloads/velocity
+ SPIGOT_PLUGIN: '78915'
+ TYPE: VELOCITY
+ TZ: Europe/Vienna
+ UID: '1000'
+ VELOCITY_BUILD_ID: latest
+ VELOCITY_VERSION: latest
+ envFrom:
+ - secretRef:
+ name: bungeecord-rcon
+ image:
+ repository: itzg/bungeecord
+ tag: latest@sha256:82b6a7b7d9aefbee26ce2c95e399d5e8dde073f5e6e87e6462f4016fca9f52f3
+ nameOverride: minecraft-public-velocity-proxy
+ ports:
+ - containerPort: 25565
+ name: velocity
+ protocol: TCP
+ - containerPort: 19132
+ name: bedrock
+ protocol: UDP
+ - containerPort: 25575
+ name: rcon
+ protocol: TCP
+ probes:
+ liveness:
+ enabled: true
+ port: 25565
+ type: TCP
+ readiness:
+ enabled: true
+ port: 25565
+ type: TCP
+ startup:
+ enabled: true
+ port: 25565
+ spec:
+ failureThreshold: 30
+ periodSeconds: 5
+ type: TCP
+ resources:
+ requests:
+ cpu: 50m
+ memory: 250Mi
+ securityContext:
+ allowPrivilegeEscalation: false
+ capabilities:
+ drop:
+ - ALL
+ readOnlyRootFilesystem: true
+ pod:
+ securityContext:
+ fsGroup: 1000
+ runAsGroup: 1000
+ runAsNonRoot: true
+ runAsUser: 1000
+ seccompProfile:
+ type: RuntimeDefault
+ replicas: 1
+ persistence:
+ config:
+ globalMounts:
+ - path: /config/velocity.toml
+ readOnly: true
+ subPath: velocity.toml
+ - path: /config/forwarding.secret
+ readOnly: true
+ subPath: forwarding.secret
+ name: minecraft-public-velocity-proxy-config
+ type: configMap
+ data:
+ existingClaim: minecraft-public-velocity-proxy-data
+ globalMounts:
+ - path: /server
+ type: persistentVolumeClaim
+ tmp:
+ globalMounts:
+ - path: /tmp
+ type: emptyDir
+ service:
+ rcon:
+ controller: velocity
+ ports:
+ rcon:
+ port: 25575
+ protocol: TCP
+ targetPort: rcon
+ velocity:
+ annotations:
+ io.cilium/lb-ipam-ips: 192.168.1.86
+ controller: velocity
+ ports:
+ bedrock-proxy:
+ port: 19132
+ protocol: UDP
+ targetPort: bedrock
+ velocity-proxy:
+ port: 25565
+ protocol: TCP
+ targetPort: velocity
+ type: LoadBalancer
+
--- kubernetes/talos-flux/apps/gaming-public/minecraft-java/velocity-proxy Kustomization: flux-system/minecraft-public-velocity-proxy ConfigMap: gaming-public/minecraft-public-velocity-proxy-config
+++ kubernetes/talos-flux/apps/gaming-public/minecraft-java/velocity-proxy Kustomization: flux-system/minecraft-public-velocity-proxy ConfigMap: gaming-public/minecraft-public-velocity-proxy-config
@@ -0,0 +1,177 @@
+---
+apiVersion: v1
+data:
+ forwarding.secret: |
+ TEST
+ velocity.toml: |
+ # Config version. Do not change this
+ config-version = "2.7"
+
+ # What port should the proxy be bound to? By default, we'll bind to all addresses on port 25565.
+ bind = "0.0.0.0:25565"
+
+ # What should be the MOTD? This gets displayed when the player adds your server to
+ # their server list. Only MiniMessage format is accepted.
+ motd = "<#09add3>A Velocity Server"
+
+ # What should we display for the maximum number of players? (Velocity does not support a cap
+ # on the number of players online.)
+ show-max-players = 500
+
+ # Should we authenticate players with Mojang? By default, this is on.
+ online-mode = true
+
+ # Should the proxy enforce the new public key security standard? By default, this is on.
+ force-key-authentication = true
+
+ # If client's ISP/AS sent from this proxy is different from the one from Mojang's
+ # authentication server, the player is kicked. This disallows some VPN and proxy
+ # connections but is a weak form of protection.
+ prevent-client-proxy-connections = false
+
+ # Should we forward IP addresses and other data to backend servers?
+ # Available options:
+ # - "none": No forwarding will be done. All players will appear to be connecting
+ # from the proxy and will have offline-mode UUIDs.
+ # - "legacy": Forward player IPs and UUIDs in a BungeeCord-compatible format. Use this
+ # if you run servers using Minecraft 1.12 or lower.
+ # - "bungeeguard": Forward player IPs and UUIDs in a format supported by the BungeeGuard
+ # plugin. Use this if you run servers using Minecraft 1.12 or lower, and are
+ # unable to implement network level firewalling (on a shared host).
+ # - "modern": Forward player IPs and UUIDs as part of the login process using
+ # Velocity's native forwarding. Only applicable for Minecraft 1.13 or higher.
+ player-info-forwarding-mode = "modern"
+
+ # If you are using modern or BungeeGuard IP forwarding, configure a file that contains a unique secret here.
+ # The file is expected to be UTF-8 encoded and not empty.
+ forwarding-secret-file = "forwarding.secret"
+
+ # Announce whether or not your server supports Forge. If you run a modded server, we
+ # suggest turning this on.
+ #
+ # If your network runs one modpack consistently, consider using ping-passthrough = "mods"
+ # instead for a nicer display in the server list.
+ announce-forge = false
+
+ # If enabled (default is false) and the proxy is in online mode, Velocity will kick
+ # any existing player who is online if a duplicate connection attempt is made.
+ kick-existing-players = false
+
+ # Should Velocity pass server list ping requests to a backend server?
+ # Available options:
+ # - "disabled": No pass-through will be done. The velocity.toml and server-icon.png
+ # will determine the initial server list ping response.
+ # - "mods": Passes only the mod list from your backend server into the response.
+ # The first server in your try list (or forced host) with a mod list will be
+ # used. If no backend servers can be contacted, Velocity won't display any
+ # mod information.
+ # - "description": Uses the description and mod list from the backend server. The first
+ # server in the try (or forced host) list that responds is used for the
+ # description and mod list.
+ # - "all": Uses the backend server's response as the proxy response. The Velocity
+ # configuration is used if no servers could be contacted.
+ ping-passthrough = "DISABLED"
+
+ # If not enabled (default is true) player IP addresses will be replaced by <ip address withheld> in logs
+ enable-player-address-logging = true
+
+ [servers]
+ # Configure your servers here. Each key represents the server's name, and the value
+ # represents the IP address of the server to connect to.
+ # lobby = "minecraft-lobby-world-minecraft:25565"
+ # creative = "minecraft-creative-world-minecraft:25565"
+ playground = "minecraft-playground-world-minecraft:25565"
+ # survival = "minecraft-survival-world-minecraft:25565"
+
+ # In what order we should try servers when a player logs in or is kicked from a server.
+ try = [
+ "playground"
+ ]
+
+ [forced-hosts]
+ # Configure your forced hosts here.
+ # "lobby.example.com" = [
+ # "lobby"
+ # ]
+ # "factions.example.com" = [
+ # "factions"
+ # ]
+ # "minigames.example.com" = [
+ # "minigames"
+ # ]
+
+ [advanced]
+ # How large a Minecraft packet has to be before we compress it. Setting this to zero will
+ # compress all packets, and setting it to -1 will disable compression entirely.
+ compression-threshold = 256
+
+ # How much compression should be done (from 0-9). The default is -1, which uses the
+ # default level of 6.
+ compression-level = -1
+
+ # How fast (in milliseconds) are clients allowed to connect after the last connection? By
+ # default, this is three seconds. Disable this by setting this to 0.
+ login-ratelimit = 3000
+
+ # Specify a custom timeout for connection timeouts here. The default is five seconds.
+ connection-timeout = 5000
+
+ # Specify a read timeout for connections here. The default is 30 seconds.
+ read-timeout = 30000
+
+ # Enables compatibility with HAProxy's PROXY protocol. If you don't know what this is for, then
+ # don't enable it.
+ haproxy-protocol = false
+
+ # Enables TCP fast open support on the proxy. Requires the proxy to run on Linux.
+ tcp-fast-open = false
+
+ # Enables BungeeCord plugin messaging channel support on Velocity.
+ bungee-plugin-message-channel = true
+
+ # Shows ping requests to the proxy from clients.
+ show-ping-requests = false
+
+ # By default, Velocity will attempt to gracefully handle situations where the user unexpectedly
+ # loses connection to the server without an explicit disconnect message by attempting to fall the
+ # user back, except in the case of read timeouts. BungeeCord will disconnect the user instead. You
+ # can disable this setting to use the BungeeCord behavior.
+ failover-on-unexpected-server-disconnect = true
+
+ # Declares the proxy commands to 1.13+ clients.
+ announce-proxy-commands = true
+
+ # Enables the logging of commands
+ log-command-executions = false
+
+ # Enables logging of player connections when connecting to the proxy, switching servers
+ # and disconnecting from the proxy.
+ log-player-connections = true
+
+ # Allows players transferred from other hosts via the
+ # Transfer packet (Minecraft 1.20.5) to be received.
+ accepts-transfers = false
+
+ [query]
+ # Whether to enable responding to GameSpy 4 query responses or not.
+ enabled = false
+
+ # If query is enabled, on what port should the query protocol listen on?
+ port = 25565
+
+ # This is the map name that is reported to the query services.
+ map = "Velocity"
+
+ # Whether plugins should be shown in query response by default or not
+ show-plugins = false
+kind: ConfigMap
+metadata:
+ annotations:
+ kustomize.toolkit.fluxcd.io/substitute: disabled
+ labels:
+ app.kubernetes.io/name: minecraft-public-velocity-proxy
+ kustomize.toolkit.fluxcd.io/name: minecraft-public-velocity-proxy
+ kustomize.toolkit.fluxcd.io/namespace: flux-system
+ name: minecraft-public-velocity-proxy-config
+ namespace: gaming-public
+
--- kubernetes/talos-flux/apps/gaming-public/minecraft-java/playground-world Kustomization: flux-system/minecraft-public-playground-world PersistentVolumeClaim: gaming-public/minecraft-public-playground-world-data
+++ kubernetes/talos-flux/apps/gaming-public/minecraft-java/playground-world Kustomization: flux-system/minecraft-public-playground-world PersistentVolumeClaim: gaming-public/minecraft-public-playground-world-data
@@ -0,0 +1,18 @@
+---
+apiVersion: v1
+kind: PersistentVolumeClaim
+metadata:
+ labels:
+ app.kubernetes.io/name: minecraft-public-playground-world
+ kustomize.toolkit.fluxcd.io/name: minecraft-public-playground-world
+ kustomize.toolkit.fluxcd.io/namespace: flux-system
+ name: minecraft-public-playground-world-data
+ namespace: gaming-public
+spec:
+ accessModes:
+ - ReadWriteOnce
+ resources:
+ requests:
+ storage: 10Gi
+ storageClassName: ceph-block
+
--- kubernetes/talos-flux/apps/gaming-public/minecraft-java/playground-world Kustomization: flux-system/minecraft-public-playground-world HelmRelease: gaming-public/minecraft-public-playground-world
+++ kubernetes/talos-flux/apps/gaming-public/minecraft-java/playground-world Kustomization: flux-system/minecraft-public-playground-world HelmRelease: gaming-public/minecraft-public-playground-world
@@ -0,0 +1,92 @@
+---
+apiVersion: helm.toolkit.fluxcd.io/v2
+kind: HelmRelease
+metadata:
+ labels:
+ app.kubernetes.io/name: minecraft-public-playground-world
+ kustomize.toolkit.fluxcd.io/name: minecraft-public-playground-world
+ kustomize.toolkit.fluxcd.io/namespace: flux-system
+ name: minecraft-public-playground-world
+ namespace: gaming-public
+spec:
+ chart:
+ spec:
+ chart: minecraft
+ interval: 15m
+ sourceRef:
+ kind: HelmRepository
+ name: minecraft-server-charts
+ namespace: flux-system
+ version: 4.23.7
+ driftDetection:
+ mode: enabled
+ install:
+ createNamespace: true
+ remediation:
+ retries: 3
+ interval: 15m
+ postRenderers:
+ - kustomize:
+ patches:
+ - patch: |-
+ - op: add
+ path: /spec/template/spec/volumes/-
+ value:
+ name: config
+ configMap:
+ name: minecraft-public-playground-world-config
+ - op: add
+ path: /spec/template/spec/containers/0/volumeMounts/-
+ value:
+ name: config
+ mountPath: /config/spigot.yml
+ subPath: spigot.yml
+ - op: add
+ path: /spec/template/spec/containers/0/volumeMounts/-
+ value:
+ name: config
+ mountPath: /config/paper-global.yml
+ subPath: paper-global.yml
+ target:
+ kind: Deployment
+ name: minecraft-public-playground-world-minecraft
+ upgrade:
+ remediation:
+ retries: 3
+ values:
+ image:
+ repository: ghcr.io/itzg/minecraft-server
+ tag: latest@sha256:6859bd9ff36447128df08826c3846bcfa66e7d6e27ccf2f6f4f2b9d262bf5ffd
+ minecraftServer:
+ allowNether: true
+ difficulty: peaceful
+ enableCommandBlock: true
+ eula: 'TRUE'
+ gameMode: creative
+ generateStructures: false
+ levelType: FLAT
+ maxPlayers: 20
+ memory: 1024M
+ motd: techicraft playground
+ onlineMode: true
+ ops: ''
+ pvp: false
+ rcon:
+ enabled: false
+ spawnAnimals: false
+ spawnMonsters: false
+ spawnNPCs: false
+ spawnProtection: 0
+ type: PAPER
+ version: '1.21'
+ viewDistance: 14
+ worldSaveName: playground
+ persistence:
+ dataDir:
+ enabled: true
+ existingClaim: minecraft-public-playground-world-data
+ resources:
+ requests:
+ cpu: 100m
+ memory: 1024Mi
+
--- kubernetes/talos-flux/apps/gaming-public/minecraft-java/playground-world Kustomization: flux-system/minecraft-public-playground-world ConfigMap: gaming-public/minecraft-public-playground-world-config
+++ kubernetes/talos-flux/apps/gaming-public/minecraft-java/playground-world Kustomization: flux-system/minecraft-public-playground-world ConfigMap: gaming-public/minecraft-public-playground-world-config
@@ -0,0 +1,305 @@
+---
+apiVersion: v1
+data:
+ paper-global.yml: |
+ ---
+ # This is the global configuration file for Paper.
+ # As you can see, there's a lot to configure. Some options may impact gameplay, so use
+ # with caution, and make sure you know what each option does before configuring.
+ #
+ # If you need help with the configuration or have any questions related to Paper,
+ # join us in our Discord or check the docs page.
+ #
+ # The world configuration options have been moved inside
+ # their respective world folder. The files are named paper-world.yml
+ #
+ # Docs: https://docs.papermc.io/
+ # Discord: https://discord.gg/papermc
+ # Website: https://papermc.io/
+
+ _version: 29
+ block-updates:
+ disable-chorus-plant-updates: false
+ disable-mushroom-block-updates: false
+ disable-noteblock-updates: false
+ disable-tripwire-updates: false
+ chunk-loading-advanced:
+ auto-config-send-distance: true
+ player-max-concurrent-chunk-generates: 0
+ player-max-concurrent-chunk-loads: 0
+ chunk-loading-basic:
+ player-max-chunk-generate-rate: -1.0
+ player-max-chunk-load-rate: 100.0
+ player-max-chunk-send-rate: 75.0
+ chunk-system:
+ gen-parallelism: default
+ io-threads: -1
+ worker-threads: -1
+ collisions:
+ enable-player-collisions: true
+ send-full-pos-for-hard-colliding-entities: true
+ commands:
+ fix-target-selector-tag-completion: true
+ suggest-player-names-when-null-tab-completions: true
+ time-command-affects-all-worlds: false
+ console:
+ enable-brigadier-completions: true
+ enable-brigadier-highlighting: true
+ has-all-permissions: false
+ item-validation:
+ book:
+ author: 8192
+ page: 16384
+ title: 8192
+ book-size:
+ page-max: 2560
+ total-multiplier: 0.98
+ display-name: 8192
+ lore-line: 8192
+ resolve-selectors-in-books: false
+ logging:
+ deobfuscate-stacktraces: true
+ messages:
+ kick:
+ authentication-servers-down: <lang:multiplayer.disconnect.authservers_down>
+ connection-throttle: Connection throttled! Please wait before reconnecting.
+ flying-player: <lang:multiplayer.disconnect.flying>
+ flying-vehicle: <lang:multiplayer.disconnect.flying>
+ no-permission:
+ <red>I'm sorry, but you do not have permission to perform this command.
+ Please contact the server administrators if you believe that this is in error.
+ use-display-name-in-quit-message: false
+ misc:
+ chat-threads:
+ chat-executor-core-size: -1
+ chat-executor-max-size: -1
+ client-interaction-leniency-distance: default
+ compression-level: default
+ fix-entity-position-desync: true
+ load-permissions-yml-before-plugins: true
+ max-joins-per-tick: 5
+ region-file-cache-size: 256
+ strict-advancement-dimension-check: false
+ use-alternative-luck-formula: false
+ use-dimension-type-for-custom-spawners: false
+ packet-limiter:
+ all-packets:
+ action: KICK
+ interval: 7.0
+ max-packet-rate: 500.0
+ kick-message: <red><lang:disconnect.exceeded_packet_rate>
+ overrides:
+ ServerboundPlaceRecipePacket:
+ action: DROP
+ interval: 4.0
+ max-packet-rate: 5.0
+ player-auto-save:
+ max-per-tick: -1
+ rate: -1
+ proxies:
+ bungee-cord:
+ online-mode: true
+ proxy-protocol: false
+ velocity:
+ enabled: true
+ online-mode: true
+ secret: "TEST"
+ scoreboards:
+ save-empty-scoreboard-teams: true
+ track-plugin-scoreboards: false
+ spam-limiter:
+ incoming-packet-threshold: 300
+ recipe-spam-increment: 1
+ recipe-spam-limit: 20
+ tab-spam-increment: 1
+ tab-spam-limit: 500
+ spark:
+ enable-immediately: false
+ enabled: true
+ timings:
+ enabled: false
+ hidden-config-entries:
+ - database
+ - proxies.velocity.secret
+ history-interval: 300
+ history-length: 3600
+ server-name: Unknown Server
+ server-name-privacy: false
+ url: https://timings.aikar.co/
+ verbose: true
+ unsupported-settings:
+ allow-headless-pistons: false
+ allow-permanent-block-break-exploits: false
+ allow-piston-duplication: false
+ allow-tripwire-disarming-exploits: false
+ allow-unsafe-end-portal-teleportation: false
+ compression-format: ZLIB
+ perform-username-validation: true
+ skip-vanilla-damage-tick-when-shield-blocked: false
+ watchdog:
+ early-warning-delay: 10000
+ early-warning-every: 5000
+ spigot.yml: |
+ ---
+ # This is the main configuration file for Spigot.
+ # As you can see, there's tons to configure. Some options may impact gameplay, so use
+ # with caution, and make sure you know what each option does before configuring.
+ # For a reference for any variable inside this file, check out the Spigot wiki at
+ # http://www.spigotmc.org/wiki/spigot-configuration/
+ #
+ # If you need help with the configuration or have any questions related to Spigot,
+ # join us at the Discord or drop by our forums and leave a post.
+ #
+ # Discord: https://www.spigotmc.org/go/discord
+ # Forums: http://www.spigotmc.org/
+
+ messages:
+ whitelist: You are not whitelisted on this server!
+ unknown-command: Unknown command. Type "/help" for help.
+ server-full: The server is full!
+ outdated-client: Outdated client! Please use {0}
+ outdated-server: Outdated server! I'm still on {0}
+ restart: Server is restarting
+ world-settings:
+ default:
+ below-zero-generation-in-existing-chunks: true
+ verbose: true
+ growth:
+ cactus-modifier: 100
+ cane-modifier: 100
+ melon-modifier: 100
+ mushroom-modifier: 100
+ pumpkin-modifier: 100
+ sapling-modifier: 100
+ beetroot-modifier: 100
+ carrot-modifier: 100
+ potato-modifier: 100
+ wheat-modifier: 100
+ netherwart-modifier: 100
+ vine-modifier: 100
+ cocoa-modifier: 100
+ bamboo-modifier: 100
+ sweetberry-modifier: 100
+ kelp-modifier: 100
+ twistingvines-modifier: 100
+ weepingvines-modifier: 100
+ cavevines-modifier: 100
+ ticks-per:
+ hopper-transfer: 8
+ hopper-check: 1
+ hopper-amount: 1
+ hopper-can-load-chunks: false
+ unload-frozen-chunks: false
+ merge-radius:
+ exp: 3.0
+ item: 2.5
+ mob-spawn-range: 6
+ entity-activation-range:
+ animals: 32
+ monsters: 32
+ raiders: 48
+ misc: 16
+ tick-inactive-villagers: true
+ ignore-spectators: false
+ entity-tracking-range:
+ players: 48
+ animals: 48
+ monsters: 48
+ misc: 32
+ display: 128
+ other: 64
+ dragon-death-sound-radius: 0
+ seed-village: 10387312
+ seed-desert: 14357617
+ seed-igloo: 14357618
+ seed-jungle: 14357619
+ seed-swamp: 14357620
+ seed-monument: 10387313
+ seed-shipwreck: 165745295
+ seed-ocean: 14357621
+ seed-outpost: 165745296
+ seed-endcity: 10387313
+ seed-slime: 987234911
+ seed-nether: 30084232
+ seed-mansion: 10387319
+ seed-fossil: 14357921
+ seed-portal: 34222645
+ hunger:
+ jump-walk-exhaustion: 0.05
+ jump-sprint-exhaustion: 0.2
+ combat-exhaustion: 0.1
+ regen-exhaustion: 6.0
+ swim-multiplier: 0.01
+ sprint-multiplier: 0.1
+ other-multiplier: 0.0
+ max-tnt-per-tick: 100
+ max-tick-time:
+ tile: 50
+ entity: 50
+ view-distance: default
+ simulation-distance: default
+ thunder-chance: 100000
+ item-despawn-rate: 6000
+ enable-zombie-pigmen-portal-spawns: true
+ arrow-despawn-rate: 1200
+ trident-despawn-rate: 1200
+ wither-spawn-sound-radius: 0
+ end-portal-sound-radius: 0
+ hanging-tick-frequency: 100
+ zombie-aggressive-towards-villager: true
+ nerf-spawner-mobs: false
+ commands:
+ log: true
+ tab-complete: 0
+ send-namespaced: true
+ spam-exclusions:
+ - /skill
+ silent-commandblock-console: false
+ replace-commands:
+ - setblock
+ - summon
+ - testforblock
+ - tellraw
+ settings:
+ bungeecord: false
+ sample-count: 12
+ player-shuffle: 0
+ user-cache-size: 1000
+ save-user-cache-on-stop-only: false
+ moved-wrongly-threshold: 0.0625
+ moved-too-quickly-multiplier: 10.0
+ timeout-time: 60
+ restart-on-crash: true
+ restart-script: ./start.sh
+ netty-threads: 4
+ attribute:
+ maxHealth:
+ max: 2048.0
+ movementSpeed:
+ max: 2048.0
+ attackDamage:
+ max: 2048.0
+ log-villager-deaths: true
+ log-named-deaths: true
+ debug: false
+ advancements:
+ disable-saving: false
+ disabled:
+ - minecraft:story/disabled
+ players:
+ disable-saving: false
+ config-version: 12
+ stats:
+ disable-saving: false
+ forced-stats: {}
+kind: ConfigMap
+metadata:
+ annotations:
+ kustomize.toolkit.fluxcd.io/substitute: disabled
+ labels:
+ app.kubernetes.io/name: minecraft-public-playground-world
+ kustomize.toolkit.fluxcd.io/name: minecraft-public-playground-world
[Diff truncated by flux-local] |
🦙 MegaLinter status: ✅ SUCCESS
See detailed report in MegaLinter reports MegaLinter is graciously provided by OX Security |
--- HelmRelease: gaming-public/minecraft-public-playground-world Service: gaming-public/minecraft-public-playground-world-minecraft
+++ HelmRelease: gaming-public/minecraft-public-playground-world Service: gaming-public/minecraft-public-playground-world-minecraft
@@ -0,0 +1,22 @@
+---
+apiVersion: v1
+kind: Service
+metadata:
+ name: minecraft-public-playground-world-minecraft
+ namespace: gaming-public
+ labels:
+ app: minecraft-public-playground-world-minecraft
+ release: minecraft-public-playground-world
+ heritage: Helm
+ app.kubernetes.io/name: minecraft
+ app.kubernetes.io/instance: minecraft-public-playground-world-minecraft
+spec:
+ type: ClusterIP
+ ports:
+ - name: minecraft
+ port: 25565
+ targetPort: minecraft
+ protocol: TCP
+ selector:
+ app: minecraft-public-playground-world-minecraft
+
--- HelmRelease: gaming-public/minecraft-public-playground-world Deployment: gaming-public/minecraft-public-playground-world-minecraft
+++ HelmRelease: gaming-public/minecraft-public-playground-world Deployment: gaming-public/minecraft-public-playground-world-minecraft
@@ -0,0 +1,138 @@
+---
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+ name: minecraft-public-playground-world-minecraft
+ namespace: gaming-public
+ labels:
+ app: minecraft-public-playground-world-minecraft
+ release: minecraft-public-playground-world
+ heritage: Helm
+ app.kubernetes.io/name: minecraft
+ app.kubernetes.io/instance: minecraft-public-playground-world-minecraft
+spec:
+ replicas: 1
+ strategy:
+ type: Recreate
+ selector:
+ matchLabels:
+ app: minecraft-public-playground-world-minecraft
+ template:
+ metadata:
+ labels:
+ app: minecraft-public-playground-world-minecraft
+ app.kubernetes.io/name: minecraft
+ app.kubernetes.io/instance: minecraft-public-playground-world-minecraft
+ spec:
+ securityContext:
+ fsGroup: 2000
+ runAsGroup: 3000
+ runAsNonRoot: true
+ runAsUser: 1000
+ seccompProfile:
+ type: RuntimeDefault
+ containers:
+ - name: minecraft-public-playground-world-minecraft
+ image: ghcr.io/itzg/minecraft-server:latest@sha256:6859bd9ff36447128df08826c3846bcfa66e7d6e27ccf2f6f4f2b9d262bf5ffd
+ imagePullPolicy: Always
+ tty: true
+ stdin: true
+ resources:
+ requests:
+ cpu: 100m
+ memory: 1024Mi
+ readinessProbe:
+ exec:
+ command:
+ - mc-health
+ initialDelaySeconds: 30
+ periodSeconds: 5
+ failureThreshold: 20
+ successThreshold: 1
+ timeoutSeconds: 1
+ livenessProbe:
+ exec:
+ command:
+ - mc-health
+ initialDelaySeconds: 30
+ periodSeconds: 5
+ failureThreshold: 20
+ successThreshold: 1
+ timeoutSeconds: 1
+ env:
+ - name: EULA
+ value: 'TRUE'
+ - name: TYPE
+ value: PAPER
+ - name: VERSION
+ value: '1.21'
+ - name: DIFFICULTY
+ value: peaceful
+ - name: MAX_PLAYERS
+ value: '20'
+ - name: ALLOW_NETHER
+ value: 'true'
+ - name: ENABLE_COMMAND_BLOCK
+ value: 'true'
+ - name: GENERATE_STRUCTURES
+ value: 'false'
+ - name: SPAWN_ANIMALS
+ value: 'false'
+ - name: SPAWN_MONSTERS
+ value: 'false'
+ - name: SPAWN_NPCS
+ value: 'false'
+ - name: SPAWN_PROTECTION
+ value: '0'
+ - name: VIEW_DISTANCE
+ value: '14'
+ - name: MODE
+ value: creative
+ - name: MOTD
+ value: techicraft playground
+ - name: PVP
+ value: 'false'
+ - name: LEVEL_TYPE
+ value: FLAT
+ - name: LEVEL
+ value: playground
+ - name: ONLINE_MODE
+ value: 'true'
+ - name: MEMORY
+ value: 1024M
+ - name: ENABLE_RCON
+ value: 'false'
+ - name: CF_API_KEY
+ valueFrom:
+ secretKeyRef:
+ name: minecraft-public-playground-world-minecraft-curseforge
+ key: cf-api-key
+ - name: CF_PARALLEL_DOWNLOADS
+ value: '4'
+ ports:
+ - name: minecraft
+ containerPort: 25565
+ protocol: TCP
+ volumeMounts:
+ - name: tmp
+ mountPath: /tmp
+ - name: datadir
+ mountPath: /data
+ - name: backupdir
+ mountPath: /backups
+ readOnly: true
+ securityContext:
+ allowPrivilegeEscalation: false
+ capabilities:
+ drop:
+ - ALL
+ readOnlyRootFilesystem: true
+ volumes:
+ - name: tmp
+ emptyDir: {}
+ - name: datadir
+ persistentVolumeClaim:
+ claimName: minecraft-public-playground-world-data
+ - name: backupdir
+ emptyDir: {}
+
--- HelmRelease: gaming-public/minecraft-public-velocity-proxy Service: gaming-public/minecraft-public-velocity-proxy-rcon
+++ HelmRelease: gaming-public/minecraft-public-velocity-proxy Service: gaming-public/minecraft-public-velocity-proxy-rcon
@@ -0,0 +1,22 @@
+---
+apiVersion: v1
+kind: Service
+metadata:
+ name: minecraft-public-velocity-proxy-rcon
+ labels:
+ app.kubernetes.io/instance: minecraft-public-velocity-proxy
+ app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: minecraft-public-velocity-proxy
+ app.kubernetes.io/service: minecraft-public-velocity-proxy-rcon
+spec:
+ type: ClusterIP
+ ports:
+ - port: 25575
+ targetPort: rcon
+ protocol: TCP
+ name: rcon
+ selector:
+ app.kubernetes.io/component: velocity
+ app.kubernetes.io/instance: minecraft-public-velocity-proxy
+ app.kubernetes.io/name: minecraft-public-velocity-proxy
+
--- HelmRelease: gaming-public/minecraft-public-velocity-proxy Service: gaming-public/minecraft-public-velocity-proxy-velocity
+++ HelmRelease: gaming-public/minecraft-public-velocity-proxy Service: gaming-public/minecraft-public-velocity-proxy-velocity
@@ -0,0 +1,28 @@
+---
+apiVersion: v1
+kind: Service
+metadata:
+ name: minecraft-public-velocity-proxy-velocity
+ labels:
+ app.kubernetes.io/instance: minecraft-public-velocity-proxy
+ app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: minecraft-public-velocity-proxy
+ app.kubernetes.io/service: minecraft-public-velocity-proxy-velocity
+ annotations:
+ io.cilium/lb-ipam-ips: 192.168.1.86
+spec:
+ type: LoadBalancer
+ ports:
+ - port: 19132
+ targetPort: bedrock
+ protocol: UDP
+ name: bedrock-proxy
+ - port: 25565
+ targetPort: velocity
+ protocol: TCP
+ name: velocity-proxy
+ selector:
+ app.kubernetes.io/component: velocity
+ app.kubernetes.io/instance: minecraft-public-velocity-proxy
+ app.kubernetes.io/name: minecraft-public-velocity-proxy
+
--- HelmRelease: gaming-public/minecraft-public-velocity-proxy Deployment: gaming-public/minecraft-public-velocity-proxy
+++ HelmRelease: gaming-public/minecraft-public-velocity-proxy Deployment: gaming-public/minecraft-public-velocity-proxy
@@ -0,0 +1,134 @@
+---
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+ name: minecraft-public-velocity-proxy
+ labels:
+ app.kubernetes.io/component: velocity
+ app.kubernetes.io/instance: minecraft-public-velocity-proxy
+ app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: minecraft-public-velocity-proxy
+ annotations:
+ reloader.stakater.com/auto: 'true'
+spec:
+ revisionHistoryLimit: 3
+ replicas: 1
+ strategy:
+ type: Recreate
+ selector:
+ matchLabels:
+ app.kubernetes.io/component: velocity
+ app.kubernetes.io/name: minecraft-public-velocity-proxy
+ app.kubernetes.io/instance: minecraft-public-velocity-proxy
+ template:
+ metadata:
+ labels:
+ app.kubernetes.io/component: velocity
+ app.kubernetes.io/instance: minecraft-public-velocity-proxy
+ app.kubernetes.io/name: minecraft-public-velocity-proxy
+ spec:
+ enableServiceLinks: false
+ serviceAccountName: default
+ automountServiceAccountToken: true
+ securityContext:
+ fsGroup: 1000
+ runAsGroup: 1000
+ runAsNonRoot: true
+ runAsUser: 1000
+ seccompProfile:
+ type: RuntimeDefault
+ hostIPC: false
+ hostNetwork: false
+ hostPID: false
+ dnsPolicy: ClusterFirst
+ containers:
+ - env:
+ - name: ENABLE_RCON
+ value: 'true'
+ - name: GID
+ value: '1000'
+ - name: MEMORY
+ value: 256M
+ - name: PLUGINS
+ value: https://download.geysermc.org/v2/projects/geyser/versions/latest/builds/latest/downloads/velocity,https://download.geysermc.org/v2/projects/floodgate/versions/latest/builds/latest/downloads/velocity
+ - name: SPIGOT_PLUGIN
+ value: '78915'
+ - name: TYPE
+ value: VELOCITY
+ - name: TZ
+ value: Europe/Vienna
+ - name: UID
+ value: '1000'
+ - name: VELOCITY_BUILD_ID
+ value: latest
+ - name: VELOCITY_VERSION
+ value: latest
+ envFrom:
+ - secretRef:
+ name: bungeecord-rcon
+ image: itzg/bungeecord:latest@sha256:82b6a7b7d9aefbee26ce2c95e399d5e8dde073f5e6e87e6462f4016fca9f52f3
+ livenessProbe:
+ failureThreshold: 3
+ initialDelaySeconds: 0
+ periodSeconds: 10
+ tcpSocket:
+ port: 25565
+ timeoutSeconds: 1
+ name: minecraft-public-velocity-proxy
+ ports:
+ - containerPort: 25565
+ name: velocity
+ protocol: TCP
+ - containerPort: 19132
+ name: bedrock
+ protocol: UDP
+ - containerPort: 25575
+ name: rcon
+ protocol: TCP
+ readinessProbe:
+ failureThreshold: 3
+ initialDelaySeconds: 0
+ periodSeconds: 10
+ tcpSocket:
+ port: 25565
+ timeoutSeconds: 1
+ resources:
+ requests:
+ cpu: 50m
+ memory: 250Mi
+ securityContext:
+ allowPrivilegeEscalation: false
+ capabilities:
+ drop:
+ - ALL
+ readOnlyRootFilesystem: true
+ startupProbe:
+ failureThreshold: 30
+ initialDelaySeconds: 0
+ periodSeconds: 5
+ tcpSocket:
+ port: 25565
+ timeoutSeconds: 1
+ volumeMounts:
+ - mountPath: /config/velocity.toml
+ name: config
+ readOnly: true
+ subPath: velocity.toml
+ - mountPath: /config/forwarding.secret
+ name: config
+ readOnly: true
+ subPath: forwarding.secret
+ - mountPath: /server
+ name: data
+ - mountPath: /tmp
+ name: tmp
+ volumes:
+ - configMap:
+ name: minecraft-public-velocity-proxy-config
+ name: config
+ - name: data
+ persistentVolumeClaim:
+ claimName: minecraft-public-velocity-proxy-data
+ - emptyDir: {}
+ name: tmp
+ |
jazzlyn
approved these changes
Jan 31, 2025
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
No description provided.