【教程】Egametang开源服务器框架跨平台部署Centos7

发表于2017-11-15
评论13 1.64w浏览
Egametang简称ET,还不了解ET是什么请先移步 ET开源 

首先开始搭建运行环境 运行指南 ,这里必须严格按照文档要求一步一步来。
这里要说明一下,在目前的最新版本中右键编译Unity解决方案可能会遇到以下问题
这是因为Unity.Hotfix工程引用的UnityEngine.dll和UnityEngine.UI.dll是临时生成的,编译时会丢失引用。
解决方法是手动重新引用Unity2017\Unity\Editor\Data\Managed\UnityEngine.dll和Unity2017\Unity\Editor\Data\UnityExtensions\Unity\GUISystem\UnityEngine.UI.dll,然后重新编译下Unity项目,之后修改完只需要编译Unity.sln即可。

如果没有遇到这个问题说明已经修复,请忽略。


成功运行Demo之后开始部署Centos7。

首先要给Server.App项目安装CommandLineParserNuGet包


安装成功后打开CMD控制台,然后移动到Egametang\Server路径下


输入dotnet publish发布应用,如果显示“不是内部或外部命令,也不是可运行的程序”则说明你的Windows系统没安装.netcore环境,执行成功如下图
这里有个报错是无法编译ENet项目,目前我还无法解决这个问题,但是可以在VS中Release编译Server.sln后在Egametang\netcoreapp2.0路径下可以找到ENet项目编译后的dll,直接copy到Egametang\netcoreapp2.0\publish路径下即可解决。

Windows发布完成后将Egametang\Config,Egametang\Logs,Egametang\netcoreapp2.0\publish这三个文件夹拷贝到Centos中,不会拷贝的自行百度一下,不会很难,完成之后如下图
拷贝完成后移动到Egametang/publish路径下

这里首先要说明当前linux系统必须先安装好.netcore

输入dotnet App.dll执行后显示如下图说明部署成功
这里可能有人会问,启动服务器的命令参数在哪?答案是程序会将命令参数解析为Options类型,如果解析值为空则为默认值,如下图
手动输入命令参数启动服务器如下图



部署教程到这里就结束了,这是我第一次发教程文章,如果觉得讲的不好请谅解,有错误的话请联系我QQ470667444,后面是我学习ET之路想说的一些话,可以当我瞎BB。

本人刚出道不久,并且职业之路也有点坎坷,在我最迷茫的时候我发现了ET,那时候我也一直憧憬能够独立开发联机游戏,但是当时水平并不高,而且一开始做的是前端。
在研究了几个月的网络通信,发现还是什么都做不了,当时是非常绝望的,甚至一度想放弃研究后端。
后面因为网上朋友推荐发现了ET,我一开始看到ET介绍后感觉简直是为我量身打造,当时就下定决心要把这个框架学好,后面我找到了作者,问他有没有讨论群,那时候ET也是刚刚正式1.0版本,并没有讨论群,后面稳定了之后作者开了一个讨论群。虽然一开始只有4个人,但我相信ET一定能发扬光大,到目前为止也已经有400多名小伙伴在学习ET了,我个人也是非常开心,也希望看到这篇教程缺还没有了解ET的人赶紧去研究一下,相信不会让你失望。
最后要感谢@熊猫,大大能把自己的干货分享出来让其他人学习是非常让人佩服的,为了回报一下大大,也是我写这篇教程做点贡献的动力源,如果还有机会我会继续把自己从ET学到的东西分享出来,请大家多多支持一下!

如社区发表内容存在侵权行为,您可以点击这里查看侵权投诉指引