ET框架部署

ET框架服务器端应用程序的发布

ET框架7.2使用目录结构提供的发布脚本进行发布: Publish-linux-x64.ps1

使用VSCode打开 

要确保项目编译成功没有报错 

点击此文件右键点击使用PowerShell运行

会在ET目录下生成Publish文件夹

如果发布在Windows系统下把  Publish-linux-x64.ps1  中linux全部改为win

购买阿里云服务器 

阿里云-计算,为了无法计算的价值

登录阿里云官网购买云服务器ECS

 购买完后使用本地电脑远程连接云服务器

Win远程桌面部署

在本地电脑打开:远程桌面连接

Windows服务器默认远程桌面连接的端口为:3389

如果云服务器拒绝访问则在安全组中开放端口访问权限

输入密码进行连接:

 将ET框架下Publish文件夹下发布好的文件进行复制  ——  到远程桌面连接

在远程桌面连接安装dotnet-sdk环境 

 安装好后双击启动Server.exe

 修改Config中的起服配置就可以使外部的玩家访问游戏服务器了

修改配置

在ET框架代码中打开ConstValue静态类

namespace ET
{
    public static class ConstValue
    {
        public const string RouterHttpHost = "127.0.0.1";
        public const int RouterHttpPort = 30300;
        public const int SessionTimeoutTime = 30 * 1000;
    }
}

把RouterHttpHost改为云服务器的公网IP地址,RouterHttpPort改为云服务器开放的端口

修改StartMachineConfig@s.xlsx配置文件

内网地址和外网地址对应云服务器的私网IP和公网IP

重新发布应用程序上传远程桌面部署运行Server.exe

分布式多进程部署

StartProcessConfig@s.xlsx配置文件主要用于配置当前要在哪台机器上要启动几个游戏服务器进程,配置文件中所属机器Id字段代表StartMachineConfig@s.xlsx配置文件

StartSceneConfig@s.xlsx配置文件中记录了在进程中所要创建的一个或多个Scene实体,其中所属区Id来自StartZoneConfig@s.xlsx配置文件中的Id

StartZoneConfig@s.xlsx配置文件用于配置游戏有多少个游戏区服

多进程配置 

 StartConfig文件下的目录代表ET框架在不同环境中的不同配置

对Release(代表云服务配置)目录下的配置文件进行修改为多进程配置 

  • 修改StartMachineConfig@s.xlsx配置文件,内网地址和外网地址对应云服务器的私网IP和公网IP
  • StartProcessConfig@s.xlsx配置多个进程

  •  修改StartSceneConfig@s.xlsx配置文件中的所属进程Id  

守护监听进程 

作用:用于启动和拉取其他的游戏服务器进程,并且时刻监听其他游戏服务器进程是否处于存活的状态。如果某一个游戏服务器进程挂掉了,守护监听进程就可以监听到游戏进程的崩溃情况,及时给开发者发送邮件报告情况。

启动监听进程 

 重新进行游戏服务器端的发布,复制win-x64到远程桌面


 运行多进程服务器

 在bin目录中按住Shift右键,点击在此处打开命令窗口

 输入Server.exe --AppType=Watcher --StartConfig="StartConfig/Localhost"

多台云服务器需要修改StartMachineConfig@s.xlsx配置文件 


Linux云服务器的部署

先将云服务器的Win系统改为Linux系统

通过Xshell远程连接云服务器Linux系统 

 发布ET框架的Linux版本

 一步一步进入bin目录

查看bin目录下文件

安装.NET环境 

在 CentOS Linux 上安装 .NET - .NET | Microsoft Learn

sudo rpm -Uvh https://packages.microsoft.com/config/centos/7/packages-microsoft-prod.rpm

sudo yum install dotnet-sdk-7.0 

sudo yum install dotnet-runtime-7.0

安装好后执行  ./Server  

验证Server的运行,新建一个连接执行Log日志文件

编译寻路第三方C++库

下载开源项目recastnavigation 

 复制项目中所有的文件夹(是文件夹)到RecastDll文件夹下,然后将整个Libs文件夹放到Linux系统中

 安装C  和  C++编译环境:yum -y install gcc gcc-c++ autoconf make

安装其他第三方库:yum install -y openssl openssl-devel

 执行cmake目录下的bootstrap文件

 执行make命令

 

 编译第三方寻路库

执行cmake编译源代码的命令 :cmake --build build_linux64 --config Release

编译发生报错 ,修改CMakeLists.txt文件: vim CMakeLists.txt

重新执行编译命令:cmake --build build_linux64 --config Release  

编译完成

把新生成的库文件libRecastDll.so 复制到  /root/linux-x64/Bin/

cp  libRecastDll.so  /root/linux-x64/Bin/

同时把  libRecastDll.so  复制到本地电脑中

 执行游戏服务器端的应用程序

 运行成功,但是关闭远程连接游戏服务器也随之关闭了

解决KCP报错问题

进入到Libs目录下的KCP文件

 输入编译命令: gcc -fPIC -shared ikcp.c -o libkcp.so

将编译好的动态库文件复制到Bin目录下

执行  ./Server  命令解决报错 

云服务器安全组开放端口

 解决断开连接游戏服务器就关闭问题

执行命令使游戏服务器断开连接在后台运行: nohup  ./Server >runtime.log 2>&1 &

日志输出会写入到runtime.log中

执行命令查看游戏服务器端有没有正确执行:ps aux | grep Server

 随着时间的推移日志文件会越来越臃肿

ET6.0版本关闭游戏服务端对日志进行一个修改

修改 NLog.config,然后重新上传

 删除生成的runtime.log文件:rm -rf runtime.log

在Log中查看日志文件


解决此问题的第二个方法:模拟连接解决,安装一个我也不知道是什么的东西

 安装好后在Bin目录下创建模拟连接: screen -S ET    (ET是自己起的名字)

 Ctrl  +  A  +  D退出模拟连接

查看是否被正确执行起来:

screen -ls  查看有哪些模拟连接        screen  -r  ET   重新回到ET模拟连接,

进入模拟连接后Ctrl +C关闭模拟连接,执行  exit  命令彻底退出模拟连接

  • 14
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要将ET框架部署到腾讯云服务器,可以按照以下步骤进行操作: 1. 购买云服务器:首先,在腾讯云平台上购买一台适合的云服务器,可以选择按需付费或预付费的方式。 2. 远程连接服务器:使用SSH工具(如Xshell或PuTTY)远程连接到你的云服务器,确保已经获得了服务器的root权限。 3. 安装依赖环境:根据ET框架的要求,在服务器上安装所需的运行环境,如Python、MySQL、Redis等。可以使用命令行工具或包管理器(如apt或yum)来安装这些依赖。 4. 下载ET框架:在服务器上使用命令行工具,如wget或git,将ET框架的源代码下载到指定的文件夹中。 5. 配置ET框架:在ET框架的配置文件中,根据自己的需求设置相关参数,如数据库连接信息、日志路径等。 6. 启动ET框架:使用命令行工具进入到ET框架的目录,并执行启动命令,如python main.py或sh start.sh。 7. 配置服务器访问权限:为了能够从外部访问到ET框架提供的服务,需要在服务器的安全组规则中添加相应的端口和协议,并将访问方式设置为允许。 8. 域名绑定:如果需要使用域名来访问ET框架,可以在腾讯云的DNS解析服务中,将域名和服务器的IP地址进行绑定。 9. 监控和维护:定期监控服务器的运行状态和性能状况,保持系统的稳定性和安全性。同时,及时更新ET框架和依赖环境的版本,以获取最新的功能和修复漏洞。 总结:部署ET框架到腾讯云服务器需要购买服务器、安装依赖环境、下载ET框架、配置框架和服务器、启动框架、配置访问权限、域名绑定、监控和维护等步骤。这些步骤能够确保ET框架能够在腾讯云服务器上正常运行,并通过互联网提供服务。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值