运维笔记
从今天开始有空就记录一下
今天开始记录一下ET服务器部署CentOS相关笔记
基础
本项目基于ET5.0框架,并在烟雨大佬的的MOBA项目基础上修改的。
一、ET的部署准备
- 一台云服务器,我使用的是腾讯云服务器
- 云服务器操作系统,我用的CentOS 7
- 在云服务器上架构一台提供HTTP服务的服务器,用阿帕奇,或者Nginx都可以,我用的简单的阿帕奇,敲几个命令就完事了,具体可以百度一下。
- 一个用来连接云服务器的shell工具,我用的finalShell
二、具体步骤
1.使用FinalShell连接到腾讯服务器上
这个工具使用比较简单,就不细说了,随便百度一下,或者到处点点就可以玩得明白了。
2.先在Linux上安装.net sdk
按照微软官方教程安装:连接地址
注意事项:本项目ET目标框架改为了.net core 3.1,所以上面教程里面的命令行需要修改为3.1
安装完毕后,查看下是否安装好:dotnet --list-sdks,输入命令,看到我安装好的就是3.1的框架了。
2.在VS里面生成的publish文件夹复制到服务器上
对Server项目重新生成,然后将Bin目录的publish文件夹上传到你云服务器上的某个文件夹位置,比如我的放在root/ET目录下。
(重点注意:某些库需要重新编译,并且Publish到对应的平台才行的,比如后面大神们加的RecastNav寻路用的库等等)
自己项目里面的位置:
云服务器上的位置:
如上图,还要将项目里面的Config与Logs文件夹(这个可以不移)也移动过去。
3.启动服务器
dotnet App.dll --appId=1 --appType=Manager --config=…/Config/StartConfig/LocalAllServer.txt
后面几个参数可以自己修改,我们就先跑非分布式的服务器,以LocalAllServer跑就好
如果启动没问题,那么服务器部署成功了第一步
4.修改启动参数
由于云服务器不同于本机,所以肯定是要改IP地址的。按Ctrl+C关掉启动的服,然后打打开LocalAllServer.txt文件进行修改
看你自己云服务器上面的地址,对应修改文件里面的IP地址。
5.再起启动
继续刚才的dotnet App.dll --appId=1 --appType=Manager --config=…/Config/StartConfig/LocalAllServer.txt 命令再次启动,然后查看下Logs日志,启动成功了。
6.修改服务器地址
直接修改GlobalProto文件Address,为腾讯云里面的公网IP地址
三、资源服搭建
百度一下,怎么在Linux搭建一个阿帕奇服,搭建好之后,看下面的目录结构:
启动阿帕奇服务后,他对应的服务目录就是这里,然后将untiy打包好的assetBundle放进这个目录,主意:平台的名字,由于我们用PC模式测试,所以把Window目录整个挪进来就好。
1.资源
由于我的项目基于的XAsset热更方式,你也可以自己弄一套热更代码,或者就直接使用ET的默认热更打包方式,主要就是将工程的Release对应的文件夹整个挪进去就好
2.地址配置修改
修改Unity项目的配置,两种方式,一种用ET写的Untiy工具,修改。我选择直接修改GlobalProto文件。
修改里面的地址,第一个对应的阿帕奇服务地址,
由于我使用的是XAsset,不是ET的热更方案,所以修改的是XAsset的配置:
3.启动客户端
启动客户端 ,热更资源与代码,然后向服务器发送注册或者登录协议,可以看到日志:
热更完成且联通服务器进行了通信。
总结
简单介绍了如何在linux上架构ET服务器,如何假设一台阿帕奇服务器。
值得注意的是,如果在Linux上想用后台的方式跑服务器,则要用下面的命令:
nohup dotnet App.dll --appId=1 --appType=Manager --config=…/Config/StartConfig/LocalAllServer.txt
加个nohup,避免你关掉FinalShell之后,从当前Linux进程退出,服务器也会跟着关闭。
至此,全部简单的串了一遍如何架构好服务器,与资源服务器。
后面有空,再进行下一步具体分析。
备注:此文章只适用于简易部署测试,不是正规部署,正规部署需要通过后台启动,或者做一些工具来启动维护,linux上也有很多其他方式部署,具体可参考https://www.cnblogs.com/fancunwei/p/9308953.html
或者https://microbubu.github.io/2019/01/25/%E5%9C%A8Linux%E4%B8%8A%E9%83%A8%E7%BD%B2-NetCore%E9%A1%B9%E7%9B%AE/