从安装到部署:GeekServer跨平台运行完全指南(Windows/Linux/Mac)
GeekServer是一款基于.Netcore开发的高效能游戏服务器框架,具备跨平台运行能力、持久化层透明化和不停服热更新等核心优势,特别适合Unity游戏项目搭建后端服务。本指南将带你完成从环境配置到服务部署的全流程,轻松实现在Windows、Linux和Mac系统上的稳定运行。
📋 准备工作:环境依赖与工具安装
.NET Core SDK 安装要求
GeekServer基于.NET Core开发,需确保系统已安装3.1或更高版本的SDK。可通过以下命令检查当前环境:
dotnet --version
若未安装或版本过低,可从微软官方网站获取对应系统的安装包。
必要工具准备
- Git:用于克隆项目代码
- 代码编辑器:推荐Visual Studio Code或Rider
- 数据库:支持MongoDB/MySQL(默认配置为MongoDB)
🔄 项目获取与基础配置
克隆代码仓库
git clone https://gitcode.com/gh_mirrors/ge/GeekServer
cd GeekServer
配置文件修改
核心配置文件位于Geek.Server.App/Configs/app_config.json,主要调整项包括:
- 数据库连接字符串
- 服务器端口号
- 日志级别设置
- 热更新相关参数
🖥️ 平台部署指南
Windows系统部署
-
安装依赖
双击运行Tools/ExcelToCode.exe和Tools/MessagePack.Generator.exe完成数据表格与协议文件的自动生成 -
构建项目
dotnet build Geek.Server.sln -c Release -
启动服务
cd Geek.Server.App/bin/Release/netcoreapp3.1 dotnet Geek.Server.App.dll
Linux系统部署(以Ubuntu为例)
-
安装.NET Core Runtime
sudo apt-get update sudo apt-get install -y dotnet-runtime-3.1 -
权限配置
chmod +x Geek.Server.App/bin/Release/netcoreapp3.1/Geek.Server.App.dll -
后台运行
nohup dotnet Geek.Server.App.dll > server.log 2>&1 &
Mac系统部署
-
环境准备
通过Homebrew安装.NET Core:brew install dotnet -
编译与运行
dotnet build Geek.Server.sln -c Release cd Geek.Server.App/bin/Release/netcoreapp3.1 ./Geek.Server.App
📊 性能监控与优化
GeekServer内置多种性能监控机制,可通过以下工具查看实时数据:
网络性能监控

DotNetty网络框架监控界面,展示服务器网络吞吐量与连接数统计
数据库性能分析

GeekDB可视化工具,支持角色状态、背包数据等游戏核心数据的实时管理
HTTP服务监控

ASP.NET Kestrel服务器性能监控,包含CPU占用、内存使用和网络带宽统计
⚙️ 常见问题解决
端口占用问题
修改app_config.json中的TcpPort和HttpPort配置项,或使用命令释放占用端口:
# Linux/Mac
sudo lsof -i :8080 # 查找占用进程
kill -9 <PID> # 终止进程
数据库连接失败
检查MongoDBConnection配置节,确保连接字符串格式正确:
" MongoDBConnection": "mongodb://localhost:27017/game_db"
热更新不生效
确保热更新文件放置在Hotfix目录,并检查HotfixModule配置:
"Hotfix": {
"Enable": true,
"DllPath": "Hotfix/Geek.Server.Hotfix.dll"
}
📚 扩展阅读
- 官方文档:Docs/网络Net(tcp&http).md.md)
- 热更新机制:Docs/热更hotfix.md
- 协议定义:Geek.Server.Proto/Proto/
通过本指南,你已掌握GeekServer在三大主流操作系统上的部署方法。框架的跨平台特性让开发与运维更加灵活,配合内置的性能监控工具,可轻松应对游戏服务器的各种运行场景。如需进一步优化,可参考官方文档中的高级配置章节。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考



