OpenMoHAA服务器搭建完全指南:Docker部署与自定义配置技巧
OpenMoHAA服务器搭建完全指南:Docker部署与自定义配置技巧
【免费下载链接】openmohaaOpen re-implementation of Medal of Honor: Allied Assault including Spearhead and Breakthrough expansions with modern features and bugfixes from ioquake3 with cross-platform support项目地址: https://gitcode.com/gh_mirrors/op/openmohaa
OpenMoHAA是《荣誉勋章:联合袭击》的开源重实现项目,支持Spearhead和Breakthrough扩展包,集成了ioquake3的现代特性与跨平台支持。本指南将帮助你通过Docker快速部署OpenMoHAA服务器,并掌握关键配置技巧,让你轻松创建专属的二战射击游戏服务器。
🚀 准备工作:环境与资源要求
部署OpenMoHAA服务器前,请确保你的系统满足以下条件:
- Docker Engine 20.10+
- Docker Compose v2+
- 至少1GB RAM(推荐2GB以上)
- 10GB可用磁盘空间
- 开放UDP端口12203(游戏端口)和12300(Gamespy端口)
OpenMoHAA支持Linux、macOS和Windows系统,本文以Linux环境为例进行演示。
🔧 步骤一:获取项目源码
首先克隆官方仓库到本地:
git clone https://gitcode.com/gh_mirrors/op/openmohaa cd openmohaa项目容器化部署相关文件位于container/server/目录,包含完整的Docker配置和启动脚本。
🐳 步骤二:使用Docker Compose快速部署
OpenMoHAA提供了预配置的Docker Compose方案,只需简单几步即可启动服务器:
- 进入服务器配置目录:
cd container/server- 查看默认配置文件(可选):
cat docker-compose.yaml默认配置包含基础服务定义:
services: openmohaa-server: restart: unless-stopped image: openmohaa/full environment: - GAME_PORT=12203 ports: - "12203:12203/udp" # Game port - "12300:12300/udp" # Gamespy port command: ["+set", "com_target_game", "0", "+exec", "server.cfg"]- 启动服务器:
docker-compose up -d- 检查服务器状态:
docker-compose ps成功运行后,你将看到类似以下状态:
Name Command State Ports ----------------------------------------------------------------------------------------------------- server_openmohaa-server_1 /bin/bash /entrypoint.sh ... Up 0.0.0.0:12203->12203/udp, 0.0.0.0:12300->12300/udpOpenMoHAA服务器支持多种经典地图,图为训练地图中的坦克场景
⚙️ 步骤三:服务器核心配置详解
OpenMoHAA服务器配置主要通过server.cfg文件完成,位于容器内的/usr/local/share/mohaa/home/main/settings/目录。要自定义配置,建议通过卷挂载方式修改:
- 创建本地配置目录:
mkdir -p ./config/settings- 从容器复制默认配置文件:
docker cp server_openmohaa-server_1:/usr/local/share/mohaa/home/main/settings/server.cfg ./config/settings/- 编辑
docker-compose.yaml,取消卷挂载注释:
volumes: - ./config/settings:/usr/local/share/mohaa/home/main/settings- 重启服务器使配置生效:
docker-compose down && docker-compose up -d关键配置参数说明
以下是server.cfg中常用的配置项:
- 服务器基本信息:
seta sv_hostname "My OpenMoHAA Server" # 服务器名称 seta sv_maxclients "16" # 最大玩家数 seta g_gametype "0" # 游戏类型:0=死亡竞赛,1=团队死亡竞赛,2=夺旗- 网络设置:
seta sv_fps "20" # 服务器帧率 seta sv_timeout "120" # 玩家超时时间(秒) seta sv_allowDownload "1" # 允许资源下载- 游戏规则:
seta g_allowVote "1" # 允许玩家投票 seta g_roundTime "15" # 回合时间(分钟) seta g_teamDamage "0" # 团队伤害:0=关闭,1=开启🎮 步骤四:地图管理与游戏模式设置
OpenMoHAA支持丰富的地图和游戏模式,通过以下方法进行管理:
添加自定义地图
- 创建地图目录:
mkdir -p ./config/maps将地图文件(.pk3格式)复制到该目录
在
docker-compose.yaml中添加地图卷挂载:
volumes: - ./config/settings:/usr/local/share/mohaa/home/main/settings - ./config/maps:/usr/local/share/mohaa/home/main/maps设置地图循环
编辑server.cfg文件,配置地图循环列表:
seta sv_maplist "mohdm1 mohdm2 flughafen" # 地图循环列表 seta sv_maprotation "1" # 启用地图循环Flughafen地图的夜间战斗场景,支持多种载具和武器系统
🔄 服务器维护与更新
查看服务器日志
docker-compose logs -f更新服务器
- 获取最新镜像:
docker-compose pull- 重启服务器:
docker-compose down && docker-compose up -d备份服务器配置
定期备份./config目录,确保配置和地图数据不会丢失:
tar -czf openmohaa-server-backup-$(date +%Y%m%d).tar.gz ./config❓ 常见问题解决
服务器无法启动?
- 检查端口是否被占用:
netstat -tulpn | grep 12203 - 查看日志排查错误:
docker-compose logs - 确保Docker权限足够:使用
sudo或添加用户到docker组
玩家无法连接?
- 检查防火墙设置,确保UDP 12203和12300端口开放
- 验证服务器IP和端口是否正确
- 检查
sv_allowAnonymous "1"是否启用
如何安装 mods?
将mod文件复制到./config/mods目录,然后在server.cfg中添加:
seta fs_game "modname"📚 进阶资源
- 官方文档:docs/
- Docker配置文件:container/server/docker-compose.yaml
- 启动脚本:container/server/base/entrypoint.sh
- 服务器配置示例:container/server/full/game/home/main/settings/server.cfg
通过本指南,你已经掌握了OpenMoHAA服务器的Docker部署和基本配置方法。现在,邀请你的朋友加入游戏,体验这款经典二战射击游戏的多人对战乐趣吧!如需进一步定制服务器,可以查阅官方文档或参与社区讨论。
【免费下载链接】openmohaaOpen re-implementation of Medal of Honor: Allied Assault including Spearhead and Breakthrough expansions with modern features and bugfixes from ioquake3 with cross-platform support项目地址: https://gitcode.com/gh_mirrors/op/openmohaa
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
