mirror of
https://github.com/m1ngsama/automa.git
synced 2025-12-24 10:51:20 +00:00
update minecraft compose file and some specific config
This commit is contained in:
parent
dcb32e6b91
commit
2207914289
7 changed files with 216 additions and 13 deletions
12
minecraft/.env
Normal file
12
minecraft/.env
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
# .env 文件:用于存储敏感或可变配置,避免硬编码到 YAML 中。
|
||||
# 用户需自行修改以下值,并确保文件权限安全(例如 chmod 600 .env)。
|
||||
|
||||
# 用户权限(避免容器文件权限问题,替换为您的主机用户 UID/GID,使用命令 'id' 查询)
|
||||
UID=1000
|
||||
GID=1000
|
||||
|
||||
# RCON 密码(远程控制密码,必须复杂且安全;原配置中已移除具体值)
|
||||
RCON_PASSWORD=your_rcon_password_here
|
||||
|
||||
# 时区(根据服务器位置调整,例如 Asia/Shanghai 为中国标准时间)
|
||||
TZ=Asia/Shanghai
|
||||
15
minecraft/README.md
Normal file
15
minecraft/README.md
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
# Automa Minecraft
|
||||
|
||||
```
|
||||
mc-fabric-docker/
|
||||
├── docker-compose.yml
|
||||
├── .env # 必改:UID、GID、RCON_PASSWORD、TZ
|
||||
├── mods/ # 放你的所有 mods jar
|
||||
├── configs/
|
||||
│ ├── server.properties # 服务器配置
|
||||
│ ├── whitelist.json # 白名单(示例)
|
||||
│ └── ops.json # OP(示例)
|
||||
├── data/ # 自动生成:世界、备份、日志
|
||||
└── extras/
|
||||
└── mods.txt # 可选:Modrinth 自动下载模组
|
||||
```
|
||||
|
|
@ -1,13 +0,0 @@
|
|||
services:
|
||||
mc:
|
||||
image: itzg/minecraft-server:latest
|
||||
pull_policy: daily
|
||||
tty: true
|
||||
stdin_open: true
|
||||
ports:
|
||||
- "25565:25565"
|
||||
environment:
|
||||
EULA: "TRUE"
|
||||
volumes:
|
||||
# attach the relative directory 'data' to the container's /data path
|
||||
- ./data:/data
|
||||
70
minecraft/configs/server.properties
Normal file
70
minecraft/configs/server.properties
Normal file
|
|
@ -0,0 +1,70 @@
|
|||
# server.properties 文件:Minecraft 服务器核心配置。
|
||||
# 此文件通过卷挂载到容器中,优先覆盖环境变量设置。
|
||||
# 所有值均为示例,用户可根据需求修改。
|
||||
# 注意:移除原 rcon.password 值,使用 .env 中的 RCON_PASSWORD 动态注入。
|
||||
|
||||
#Minecraft server properties
|
||||
# 生成时间示例(自动更新,无需修改)
|
||||
#Tue Nov 04 17:06:20 CST 2025
|
||||
|
||||
accepts-transfers=false # 是否允许玩家从其他服务器传输(默认 false)
|
||||
allow-flight=false # 是否允许飞行(false 防止作弊)
|
||||
allow-nether=true # 是否启用下界(true 为标准生存)
|
||||
broadcast-console-to-ops=true # 是否向 OP 广播控制台消息
|
||||
broadcast-rcon-to-ops=true # 是否向 OP 广播 RCON 消息
|
||||
bug-report-link= # 错误报告链接(留空或填自定义)
|
||||
difficulty=normal # 难度:peaceful/easy/normal/hard(normal 为标准)
|
||||
enable-command-block=false # 是否启用命令方块(false 防止滥用)
|
||||
enable-jmx-monitoring=false # 是否启用 JMX 监控(用于高级调试)
|
||||
enable-query=false # 是否启用查询端口(用于外部工具查询服务器状态)
|
||||
enable-rcon=true # 是否启用 RCON(true,与 .env 中的密码结合使用)
|
||||
enable-status=true # 是否启用服务器状态查询
|
||||
enforce-secure-profile=true # 是否强制安全配置文件(正版验证相关)
|
||||
enforce-whitelist=false # 是否强制白名单(false,未启用;如需启用,设为 true 并配置 whitelist.json)
|
||||
entity-broadcast-range-percentage=100 # 实体广播范围百分比(100 为默认)
|
||||
force-gamemode=false # 是否强制游戏模式
|
||||
function-permission-level=2 # 函数权限级别(2 为标准)
|
||||
gamemode=survival # 默认游戏模式:survival/creative/adventure/spectator
|
||||
generate-structures=true # 是否生成结构(如村庄)
|
||||
generator-settings={} # 生成器设置(JSON,留空为默认)
|
||||
hardcore=false # 是否硬核模式(死亡后封号)
|
||||
hide-online-players=false # 是否隐藏在线玩家列表
|
||||
initial-disabled-packs= # 初始禁用数据包
|
||||
initial-enabled-packs=vanilla,fabric,easyauth,fabric-convention-tags-v2,server_translations_api # 初始启用数据包(基于 Fabric 和模组)
|
||||
level-name=world # 世界名称(world 为默认文件夹)
|
||||
level-seed= # 世界种子(留空为随机)
|
||||
level-type=minecraft\:normal # 世界类型(normal 为标准)
|
||||
log-ips=true # 是否记录玩家 IP(true 为安全审计)
|
||||
max-chained-neighbor-updates=1000000 # 最大链式邻居更新(防止滞后)
|
||||
max-players=20 # 最大玩家数(原为 114514,改为通用示例 20;根据服务器资源调整)
|
||||
max-tick-time=60000 # 最大 tick 时间(毫秒,超时重启)
|
||||
max-world-size=29999984 # 最大世界大小
|
||||
motd=A Minecraft Server # 服务器欢迎消息(改为通用示例,原为个人化;支持颜色代码如 §6)
|
||||
network-compression-threshold=256 # 网络压缩阈值
|
||||
online-mode=false # 是否正版验证(false 允许盗版客户端连接)
|
||||
op-permission-level=4 # OP 权限级别(4 为最高)
|
||||
player-idle-timeout=0 # 玩家空闲超时(0 为无限)
|
||||
prevent-proxy-connections=false # 是否防止代理连接
|
||||
pvp=true # 是否启用 PVP
|
||||
query.port=25565 # 查询端口(与服务器端口一致)
|
||||
rate-limit=0 # 速率限制(0 为无)
|
||||
rcon.password= # RCON 密码(留空,使用 .env 中的值动态注入;原已移除)
|
||||
rcon.port=25575 # RCON 端口
|
||||
region-file-compression=deflate # 区域文件压缩(deflate 为标准)
|
||||
require-resource-pack=false # 是否要求资源包
|
||||
resource-pack= # 资源包 URL
|
||||
resource-pack-id= # 资源包 ID
|
||||
resource-pack-prompt= # 资源包提示
|
||||
resource-pack-sha1= # 资源包 SHA1
|
||||
server-ip= # 服务器 IP(留空为所有接口)
|
||||
server-port=25565 # 服务器端口
|
||||
simulation-distance=10 # 模拟距离(影响性能)
|
||||
spawn-animals=true # 是否生成动物
|
||||
spawn-monsters=true # 是否生成怪物
|
||||
spawn-npcs=true # 是否生成 NPC
|
||||
spawn-protection=16 # 生成保护半径(新手保护)
|
||||
sync-chunk-writes=true # 是否同步区块写入(防止数据丢失)
|
||||
text-filtering-config= # 文本过滤配置
|
||||
use-native-transport=true # 是否使用本地传输(优化性能)
|
||||
view-distance=10 # 视图距离(影响性能)
|
||||
white-list=false # 是否启用白名单(false,未启用;如需启用,设为 true)
|
||||
17
minecraft/configs/whitelist.json
Normal file
17
minecraft/configs/whitelist.json
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
[
|
||||
// whitelist.json 文件:白名单玩家列表(JSON 数组)。
|
||||
// 每个对象包含 uuid 和 name。
|
||||
// 原文件中的具体玩家信息已移除,改为示例占位符。
|
||||
// 用户需自行添加真实 UUID(从 mcuuid.net 等工具获取)和玩家名。
|
||||
// 如果不启用白名单,此文件可选。
|
||||
// 示例:
|
||||
{
|
||||
"uuid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
|
||||
"name": "example_player1"
|
||||
},
|
||||
{
|
||||
"uuid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
|
||||
"name": "example_player2"
|
||||
}
|
||||
// 添加更多玩家时,复制以上格式,最后一个对象后无逗号。
|
||||
]
|
||||
66
minecraft/docker-compose.yml
Normal file
66
minecraft/docker-compose.yml
Normal file
|
|
@ -0,0 +1,66 @@
|
|||
# docker-compose.yml 文件:Docker Compose 配置,用于启动 Minecraft Fabric 服务器容器。
|
||||
# 版本:3.8(兼容大多数 Docker 版本)。
|
||||
# 此文件已去敏,所有敏感数据移到 .env 或 configs 中。
|
||||
# 运行命令:docker compose up -d(后台启动)。
|
||||
|
||||
version: "3.8"
|
||||
|
||||
services:
|
||||
minecraft: # 服务名称(可自定义)
|
||||
image: itzg/minecraft-server:latest # 使用镜像:itzg/minecraft-server(支持 Fabric 和自动模组管理)
|
||||
container_name: mc-fabric-1.21.1 # 容器名称(便于 docker ps 查看)
|
||||
ports:
|
||||
- "25565:25565/tcp" # Minecraft 主端口(TCP,客户端连接)
|
||||
- "25565:25565/udp" # 查询端口(UDP,服务器列表查询)
|
||||
- "25575:25575/tcp" # RCON 端口(TCP,远程控制,与 server.properties 一致)
|
||||
environment: # 环境变量:用于动态配置服务器参数
|
||||
UID: "${UID}" # 从 .env 加载主机用户 UID(避免权限问题)
|
||||
GID: "${GID}" # 从 .env 加载主机用户 GID
|
||||
EULA: "TRUE" # 同意 Minecraft EULA(必须为 TRUE,否则启动失败)
|
||||
TYPE: "FABRIC" # 服务器类型:FABRIC(支持模组加载器)
|
||||
VERSION: "1.21.1" # Minecraft 版本(固定为 1.21.1)
|
||||
FABRIC_VERSION: "latest" # Fabric 加载器版本(latest 为自动最新)
|
||||
MEMORY: "4G" # 最大内存分配(4G 为示例,根据主机 RAM 调整;模组多建议 4G+)
|
||||
INIT_MEMORY: "2G" # 初始内存分配(2G 为示例)
|
||||
|
||||
# 服务器核心设置(可覆盖 server.properties 中的值)
|
||||
ONLINE_MODE: "false" # 正版验证(false 允许非正版客户端;生产环境建议 true 以防安全风险)
|
||||
ENABLE_RCON: "true" # 启用 RCON(true,与 .env 密码结合)
|
||||
RCON_PASSWORD: "${RCON_PASSWORD}" # RCON 密码(从 .env 加载,用户自行设置)
|
||||
RCON_PORT: 25575 # RCON 端口(与 server.properties 一致)
|
||||
DIFFICULTY: "normal" # 难度(normal 为默认)
|
||||
GAMEMODE: "survival" # 游戏模式(survival 为生存)
|
||||
MAX_PLAYERS: 20 # 最大玩家数(改为通用示例,原为特定值;根据资源调整)
|
||||
MOTD: "A Minecraft Server" # 欢迎消息(改为通用示例,支持颜色代码)
|
||||
VIEW_DISTANCE: 10 # 视图距离(10 为平衡性能)
|
||||
SIMULATION_DISTANCE: 10 # 模拟距离(10 为平衡)
|
||||
SPAWN_PROTECTION: 16 # 生成保护(16 为默认)
|
||||
PVP: "true" # 启用 PVP(true)
|
||||
WHITE_LIST: "false" # 启用白名单(false;如需启用,设为 true 并配置 whitelist.json)
|
||||
ENFORCE_WHITELIST: "false" # 强制白名单(false)
|
||||
|
||||
# 其他优化设置
|
||||
TZ: "${TZ}" # 时区(从 .env 加载)
|
||||
REMOVE_OLD_MODS: "true" # 自动移除旧模组(true,保持 mods 干净)
|
||||
|
||||
# 可选:模组自动下载(如果不挂载 mods/ 目录,取消注释启用)
|
||||
# MODRINTH_PROJECTS: "@/extras/mods.txt" # 从 mods.txt 加载 Modrinth slugs
|
||||
# MODRINTH_DOWNLOAD_DEPENDENCIES: "required" # 只下载必需依赖
|
||||
volumes: # 卷挂载:持久化数据和自定义文件
|
||||
- ./data:/data # 持久化世界、backups、logs 等(重要,防止数据丢失)
|
||||
- ./mods:/data/mods # 挂载用户 mods jar(从原服务器复制)
|
||||
- ./configs/server.properties:/data/server.properties:ro # 挂载自定义 server.properties(ro 为只读,防止容器修改)
|
||||
- ./configs/whitelist.json:/data/whitelist.json:ro # 挂载自定义白名单
|
||||
- ./configs/ops.json:/data/ops.json:ro # 挂载自定义 OP
|
||||
# 可选:挂载其他目录(根据需要取消注释)
|
||||
# - ./data/backups:/data/backups # 备份目录
|
||||
# - ./configs/EasyAuth:/data/EasyAuth:ro # EasyAuth 配置(如果有)
|
||||
# - ./extras:/extras:ro # mods.txt 目录(如果启用自动下载)
|
||||
restart: unless-stopped # 重启策略:除非手动停止,否则自动重启(提升可用性)
|
||||
stdin_open: true # 启用 stdin(便于 attach 容器)
|
||||
tty: true # 启用 tty(便于交互调试)
|
||||
logging: # 日志配置(防止日志文件过大)
|
||||
driver: "json-file" # 日志驱动(json-file 为 Docker 默认)
|
||||
options:
|
||||
max-size: "10m" # 单个日志文件最大大小(10m 为示例)
|
||||
max-file: "3" # 最大日志文件数(3 个轮换)
|
||||
36
minecraft/extras/mods.txt
Normal file
36
minecraft/extras/mods.txt
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
# mods.txt 文件:用于 Modrinth 自动下载模组的 slugs 列表。
|
||||
# 每行一个 slug(从 Modrinth 网站获取),镜像会自动下载最新 1.21.1 兼容版本。
|
||||
# 如果您有现有 jar 文件,优先挂载 mods/ 目录;否则启用此文件。
|
||||
# 基于原 mods 列表推断,聚焦性能、兼容和实用模组。
|
||||
|
||||
# 核心 API 和加载器
|
||||
fabric-api
|
||||
|
||||
# 性能优化模组(减少延迟、提升 TPS)
|
||||
sodium
|
||||
iris
|
||||
lithium
|
||||
krypton
|
||||
architectury
|
||||
|
||||
# 地毯模组(调试和服务器优化)
|
||||
carpet
|
||||
carpet-extra
|
||||
|
||||
# 版本兼容模组(允许旧版客户端连接)
|
||||
viafabric
|
||||
viaversion
|
||||
viabackwards
|
||||
|
||||
# 地图模组(小地图和世界地图)
|
||||
xaeros-minimap
|
||||
xaeros-world-map
|
||||
|
||||
# 其他实用模组(地图渲染、备份、认证等)
|
||||
bluemap
|
||||
ftbbackups2
|
||||
easyauth
|
||||
no-chat-reports
|
||||
polylib
|
||||
energy
|
||||
minimotd # 假设为 minimotd 的 slug,请在 Modrinth 确认
|
||||
Loading…
Reference in a new issue