ET服务器框架——部署与运维笔记(一)

运维笔记

  • 从今天开始有空就记录一下
  • 今天开始记录一下ET服务器部署CentOS相关笔记
  • 基础
  • 一、ET的部署准备
  • 二、具体步骤
    • 1.使用FinalShell连接到腾讯服务器上
    • 2.先在Linux上安装.net sdk
    • 2.在VS里面生成的publish文件夹复制到服务器上
    • 3.启动服务器
    • 4.修改启动参数
    • 5.再起启动
    • 6.修改服务器地址
  • 三、资源服搭建
    • 1.资源
    • 2.地址配置修改
    • 3.启动客户端
  • 总结

从今天开始有空就记录一下

今天开始记录一下ET服务器部署CentOS相关笔记


基础

本项目基于ET5.0框架,并在烟雨大佬的的MOBA项目基础上修改的。


一、ET的部署准备

  • 一台云服务器,我使用的是腾讯云服务器
  • 云服务器操作系统,我用的CentOS 7
  • 在云服务器上架构一台提供HTTP服务的服务器,用阿帕奇,或者Nginx都可以,我用的简单的阿帕奇,敲几个命令就完事了,具体可以百度一下。
  • 一个用来连接云服务器的shell工具,我用的finalShell

二、具体步骤

1.使用FinalShell连接到腾讯服务器上

ET服务器框架——部署与运维笔记(一)_第1张图片
这个工具使用比较简单,就不细说了,随便百度一下,或者到处点点就可以玩得明白了。

2.先在Linux上安装.net sdk

按照微软官方教程安装:连接地址
注意事项:本项目ET目标框架改为了.net core 3.1,所以上面教程里面的命令行需要修改为3.1ET服务器框架——部署与运维笔记(一)_第2张图片
安装完毕后,查看下是否安装好:dotnet --list-sdks,输入命令,看到我安装好的就是3.1的框架了。
在这里插入图片描述

2.在VS里面生成的publish文件夹复制到服务器上

对Server项目重新生成,然后将Bin目录的publish文件夹上传到你云服务器上的某个文件夹位置,比如我的放在root/ET目录下。
(重点注意:某些库需要重新编译,并且Publish到对应的平台才行的,比如后面大神们加的RecastNav寻路用的库等等)
自己项目里面的位置:
ET服务器框架——部署与运维笔记(一)_第3张图片
云服务器上的位置:
ET服务器框架——部署与运维笔记(一)_第4张图片
如上图,还要将项目里面的Config与Logs文件夹(这个可以不移)也移动过去。

3.启动服务器

dotnet App.dll --appId=1 --appType=Manager --config=…/Config/StartConfig/LocalAllServer.txt

后面几个参数可以自己修改,我们就先跑非分布式的服务器,以LocalAllServer跑就好
如果启动没问题,那么服务器部署成功了第一步

4.修改启动参数

由于云服务器不同于本机,所以肯定是要改IP地址的。按Ctrl+C关掉启动的服,然后打打开LocalAllServer.txt文件进行修改

ET服务器框架——部署与运维笔记(一)_第5张图片
看你自己云服务器上面的地址,对应修改文件里面的IP地址。ET服务器框架——部署与运维笔记(一)_第6张图片

5.再起启动

继续刚才的dotnet App.dll --appId=1 --appType=Manager --config=…/Config/StartConfig/LocalAllServer.txt 命令再次启动,然后查看下Logs日志,启动成功了。
在这里插入图片描述

6.修改服务器地址

直接修改GlobalProto文件Address,为腾讯云里面的公网IP地址
ET服务器框架——部署与运维笔记(一)_第7张图片

三、资源服搭建

百度一下,怎么在Linux搭建一个阿帕奇服,搭建好之后,看下面的目录结构:
ET服务器框架——部署与运维笔记(一)_第8张图片
启动阿帕奇服务后,他对应的服务目录就是这里,然后将untiy打包好的assetBundle放进这个目录,主意:平台的名字,由于我们用PC模式测试,所以把Window目录整个挪进来就好。

1.资源

由于我的项目基于的XAsset热更方式,你也可以自己弄一套热更代码,或者就直接使用ET的默认热更打包方式,主要就是将工程的Release对应的文件夹整个挪进去就好

2.地址配置修改

修改Unity项目的配置,两种方式,一种用ET写的Untiy工具,修改。我选择直接修改GlobalProto文件。
ET服务器框架——部署与运维笔记(一)_第9张图片
修改里面的地址,第一个对应的阿帕奇服务地址,
在这里插入图片描述
由于我使用的是XAsset,不是ET的热更方案,所以修改的是XAsset的配置:
ET服务器框架——部署与运维笔记(一)_第10张图片

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/

你可能感兴趣的:(ET,c#)