Remove unnessary files
This commit is contained in:
7
karylab-complex/master/fabric-proxy-example.toml
Normal file
7
karylab-complex/master/fabric-proxy-example.toml
Normal file
@@ -0,0 +1,7 @@
|
||||
# 啟用 Velocity 支援
|
||||
hackEarlySend = false
|
||||
hackMessageChain = false
|
||||
hackOfflinePlayersUuid = true
|
||||
|
||||
# 重要!複製 Velocity 的 secret
|
||||
secret = "ymQ8CZfTMx8z" # 從 Velocity 的 forwarding.secret 複製
|
||||
132
karylab-complex/master/minecraft-master.yml
Normal file
132
karylab-complex/master/minecraft-master.yml
Normal file
@@ -0,0 +1,132 @@
|
||||
version: '3.8'
|
||||
|
||||
services:
|
||||
# 1. 遊戲管理中心
|
||||
crafty:
|
||||
container_name: crafty_controller
|
||||
image: registry.gitlab.com/crafty-controller/crafty-4:latest
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- TZ=Asia/Taipei
|
||||
ports:
|
||||
- "8000:8443" # 管理介面
|
||||
- "1110:25555" # Velocity 代理端口
|
||||
volumes:
|
||||
- /docker/minecraft/crafty/backups:/crafty/backups
|
||||
- /docker/minecraft/crafty/logs:/crafty/logs
|
||||
- /docker/minecraft/crafty/servers:/crafty/servers
|
||||
- /docker/minecraft/crafty/config:/crafty/app/config
|
||||
- /docker/minecraft/crafty/import:/crafty/import
|
||||
networks:
|
||||
- minecraft_net
|
||||
# 資源限制(避免單一伺服器吃光所有資源)
|
||||
deploy:
|
||||
resources:
|
||||
limits:
|
||||
memory: 24G
|
||||
reservations:
|
||||
memory: 8G # 保證最低 8GB,適合多伺服器同時運行
|
||||
|
||||
|
||||
# 2. 全方位監控儀表板 (Netdata)
|
||||
netdata:
|
||||
image: netdata/netdata:latest
|
||||
container_name: netdata_minecraft
|
||||
hostname: minecraft-host # 便於識別
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- "8010:19999" # 監控網頁介面
|
||||
cap_add:
|
||||
- SYS_PTRACE
|
||||
- SYS_ADMIN
|
||||
security_opt:
|
||||
- apparmor:unconfined
|
||||
environment:
|
||||
- TZ=Asia/Taipei
|
||||
# 可選:Netdata Cloud 整合
|
||||
- NETDATA_CLAIM_TOKEN=${NETDATA_CLAIM_TOKEN:-} # your-token-here
|
||||
- NETDATA_CLAIM_ROOMS=${NETDATA_CLAIM_ROOMS:-} # your-room-id-here
|
||||
# 數據保留設定
|
||||
- NETDATA_DBENGINE_MULTIHOST_DISK_SPACE=5120 # 5GB 磁碟空間(保留 7 天)
|
||||
volumes:
|
||||
- netdataconfig:/etc/netdata
|
||||
- netdatalib:/var/lib/netdata # 時序資料庫存放位置,會成長到約 5GB
|
||||
- netdatacache:/var/cache/netdata
|
||||
- /etc/passwd:/host/etc/passwd:ro
|
||||
- /etc/group:/host/etc/group:ro
|
||||
- /proc:/host/proc:ro
|
||||
- /sys:/sys:ro
|
||||
- /etc/os-release:/host/etc/os-release:ro
|
||||
- /var/run/docker.sock:/var/run/docker.sock:ro # 關鍵:讓 Netdata 讀取 Docker 狀態
|
||||
- /docker/minecraft/crafty/servers:/host/minecraft:ro # 監控 MC 伺服器目錄大小
|
||||
networks:
|
||||
- minecraft_net
|
||||
deploy:
|
||||
resources:
|
||||
limits:
|
||||
memory: 512M
|
||||
reservations:
|
||||
memory: 256M
|
||||
|
||||
# 3. 即時日誌瀏覽器 (Dozzle) - 看報錯用
|
||||
dozzle:
|
||||
image: amir20/dozzle:latest
|
||||
container_name: dozzle_minecraft
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- TZ=Asia/Taipei
|
||||
- DOZZLE_LEVEL=info
|
||||
- DOZZLE_TAILSIZE=500 # 日誌顯示行數
|
||||
- DOZZLE_FILTER=name=crafty*|name=minecraft* # 只顯示 MC 相關容器
|
||||
ports:
|
||||
- "8020:8080" # 訪問 http://localhost:8020 即可看到所有容器日誌
|
||||
volumes:
|
||||
- /var/run/docker.sock:/var/run/docker.sock:ro
|
||||
networks:
|
||||
- minecraft_net
|
||||
deploy:
|
||||
resources:
|
||||
limits:
|
||||
memory: 256M
|
||||
|
||||
# 4. 備份服務 (可選) - 自動備份到雲端或其他位置
|
||||
# duplicati:
|
||||
# image: lscr.io/linuxserver/duplicati:latest
|
||||
# container_name: minecraft_backup
|
||||
# restart: unless-stopped
|
||||
# environment:
|
||||
# - PUID=1000
|
||||
# - PGID=1000
|
||||
# - TZ=Asia/Taipei
|
||||
# ports:
|
||||
# - "8200:8200"
|
||||
# volumes:
|
||||
# - ./duplicati/config:/config
|
||||
# - ./crafty/backups:/backups:ro
|
||||
# - ./crafty/servers:/source:ro
|
||||
# networks:
|
||||
# - minecraft_net
|
||||
|
||||
# 5. Watchtower - 自動更新容器映像檔(可選)
|
||||
# watchtower:
|
||||
# image: containrrr/watchtower:latest
|
||||
# container_name: watchtower_minecraft
|
||||
# restart: unless-stopped
|
||||
# environment:
|
||||
# - TZ=Asia/Taipei
|
||||
# - WATCHTOWER_CLEANUP=true
|
||||
# - WATCHTOWER_SCHEDULE=0 0 4 * * * # 每天凌晨 4 點檢查更新
|
||||
# - WATCHTOWER_INCLUDE_STOPPED=false
|
||||
# volumes:
|
||||
# - /var/run/docker.sock:/var/run/docker.sock
|
||||
# networks:
|
||||
# - minecraft_net
|
||||
|
||||
networks:
|
||||
minecraft_net:
|
||||
driver: bridge
|
||||
|
||||
volumes:
|
||||
netdataconfig:
|
||||
netdatalib:
|
||||
netdatacache:
|
||||
111
karylab-complex/master/velocity-conf-example.toml
Normal file
111
karylab-complex/master/velocity-conf-example.toml
Normal file
@@ -0,0 +1,111 @@
|
||||
# Config version. Do not change this
|
||||
config-version = "1.0"
|
||||
# What port should the proxy be bound to? By default, we'll bind to all addresses on port 25577.
|
||||
bind = "0.0.0.0:25577"
|
||||
# What should be the MOTD? This gets displayed when the player adds your server to
|
||||
# their server list. Legacy color codes and JSON are accepted.
|
||||
motd = "	add3A 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
|
||||
# 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 = "NONE"
|
||||
# If you are using modern or BungeeGuard IP forwarding, configure a unique secret here.
|
||||
forwarding-secret = "j8obT9lp7Dys"
|
||||
# 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"
|
||||
|
||||
[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 = "127.0.0.1:30066"
|
||||
factions = "127.0.0.1:30067"
|
||||
minigames = "127.0.0.1:30068"
|
||||
# In what order we should try servers when a player logs in or is kicked from a server.
|
||||
try = ["lobby"]
|
||||
|
||||
[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
|
||||
|
||||
[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 = 25577
|
||||
# This is the map name that is reported to the query services.
|
||||
map = "Velocity"
|
||||
show-plugins = false
|
||||
|
||||
67
karylab-complex/master/velocity-conf.toml
Normal file
67
karylab-complex/master/velocity-conf.toml
Normal file
@@ -0,0 +1,67 @@
|
||||
# Velocity 配置檔
|
||||
# 啟動容器後會自動生成在 /docker/minecraft/velocity/velocity.toml
|
||||
|
||||
# Config version. Do not change this
|
||||
config-version = "2.7"
|
||||
|
||||
# 綁定地址和端口
|
||||
bind = "0.0.0.0:25555"
|
||||
|
||||
# 伺服器列表 MOTD
|
||||
motd = "<gradient:#09add3:#d33682>Karylab Minecraft Network</gradient>"
|
||||
|
||||
# 最大顯示玩家數
|
||||
show-max-players = 100
|
||||
|
||||
# 正版驗證
|
||||
online-mode = false
|
||||
|
||||
# 防止透過代理/VPN連線 (會踢掉使用VPN的玩家,建議關閉)
|
||||
prevent-client-proxy-connections = false
|
||||
|
||||
# 如果有相同玩家嘗試重複登入,是否踢掉已在線的玩家
|
||||
kick-existing-players = true
|
||||
|
||||
# 啟用 modern forwarding (讓後端伺服器知道玩家真實IP)
|
||||
player-info-forwarding-mode = "modern"
|
||||
|
||||
# 是否宣告伺服器支援 Forge 模組 (原版伺服器設為 false)
|
||||
announce-forge = false
|
||||
|
||||
# 伺服器列表 Ping 穿透設定 (當玩家在 Minecraft 多人遊戲列表看到伺服器時,顯示的資訊從哪來)
|
||||
ping-passthrough = "DISABLED"
|
||||
|
||||
# 轉發密鑰檔案
|
||||
forwarding-secret-file = "forwarding.secret"
|
||||
|
||||
# 後端伺服器列表
|
||||
[servers]
|
||||
parkour-spiral = "127.0.0.1:1110"
|
||||
parkour-volcano = "127.0.0.1:1120"
|
||||
|
||||
# 玩家登入時的伺服器嘗試順序(空陣列 = 禁止直接用 IP 連線,必須用域名)
|
||||
try = []
|
||||
|
||||
# 強制主機域名路由(關鍵!)
|
||||
[forced-hosts]
|
||||
"parkour-spiral.karylab.uk" = ["parkour-spiral"]
|
||||
"parkour-volcano.karylab.uk" = ["parkour-volcano"]
|
||||
|
||||
[advanced]
|
||||
# 壓縮閾值
|
||||
compression-threshold = 256
|
||||
compression-level = -1
|
||||
login-ratelimit = 3000
|
||||
|
||||
# 連線超時設定(毫秒)
|
||||
connection-timeout = 5000
|
||||
read-timeout = 30000
|
||||
|
||||
# 向 1.13+ 客戶端宣告代理指令
|
||||
announce-proxy-commands = false
|
||||
|
||||
# 記錄指令執行(除錯用,平時關閉)
|
||||
log-command-executions = false
|
||||
|
||||
# 是否在日誌記錄玩家 IP
|
||||
enable-player-address-logging = true
|
||||
Reference in New Issue
Block a user