本篇文章主要讲的是如何把做完的ET项目,完整的部署到Linux上,包括搭建文件资源服务器,安装mongoDB数据库,.net core的运行环境,及整个流程,整体分为三大步来走

 

如果是看到这篇帖子,不知道ET是什么的请移步ET框架
 

 

运行环境:Centos7.3 + Unity2017.1.0p5 + vs2017 + ET 2.0  这里要说一下低于Centos7的没法安装.net core环境


第一:我先讲如何把资源服务器部署到Linux上,我这里选择了安装简单的APache服务,也可以安装tomcat、Nginx或者其他http服务.但是端口一定要设置到8080。

先操作centos7服务器:
 ●安装Httpd:
$ yum install httpd
 ●启动httpd:
$ service httpd start
假如显示这个错误:Redirecting to /bin/systemctl restart httpd.service    就用下面的这个命令,没有则忽略
$  /bin/systemctl start httpd.service 
好了,两条命令就把httpd搭建并启动起来了
回到本机打开网页输入服务器的地址:如下图
4X}BZWB%(J)F43~JM@5YCM1
当你看到这一步的时候你就成功了。
由于httpd默认是80端口,下来要把他修改到8080端口所以继续回到linux操作
 ●修改配置文件端口为8080
$ vi /etc/httpd/conf/httpd.conf
假如你安装了vim编辑器也可以如下命令
$ vim /etc/httpd/conf/httpd.conf
然后你搜索关于80配置的代码也可以如下搜索
$ /80
找到如下图的部分
5a6ad77fe3fc1
将其修改为8080端口如下图,假如你是小白没玩过linux 你点击Insert进行修改
5a6ad7e578161
修改完按esc 并输入:wq 就保存了
下来你就需要重启httpd服务,输入下面命名就重启了
 ●重启httpd服务
$ service httpd restart
假如显示这个错误:Redirecting to /bin/systemctl restart httpd.service    就用下面的这个命令,没有则忽略
$  /bin/systemctl restart httpd.service 
然后你回到你的电脑,输入IP+8080,如下图
5a6ad96c3e63c
假如你到这步看到了如上图的图片,证明你的httpd文件资源服务器就部署好了。
 ●回到unity进行操作,打开tools–>全局配置 把资源路径改成服务器地址如下图:
5a6adb792a646
这里还有个小坑,8080端口后面记得加“/”___ http://192.168.1.39:8080这样是不行的,记的一定要加/。
这里要感谢哲学大佬,给我一眼识出问题。点击保存。
假如你是自己的项目并用的不是et本身的场景,假如是,就请跳过此步骤直接看打包
 ●打开vs找到BuildHelper类
5a6adeb92c306
 ●把exeName改成 自己的项目名字如下图,根据自己的实际情况修改:
5a6adf3e86c01
 ●然后修改场景的名字,根据自己的实际情况修改,如下图
5a6ae00e3304a
修改完点击生成后就切换到unity
 ●然后点击Tools–>打包工具,先选择pc看看能不能跑起来,点击选择PC,打包成exe.如下图
5a6adcf798502
然后点击开始打包,坐等打包完。
这时候切换到项目路径,打开Release文件夹,如下图
5a6addab0e527
这时候打开文件传输助手,我这里用的是xftp,你们随意
 ●在xftp服务器上找到“/var/www/html”的路径,并把AB包放到html文件下如下图:
 
5a6ae1ed0efd8
然后切换到Release文件下,运行exe文件。当你看到unity控制台没有错误的log时候就成功了,代表的资源服务器搭建完了,看到类似下图的的log就代表成功了
OEC2A{[6{NM29NJ6X8`2SGF

第二步:安装mongo数据库

●本次安装使用的是yum命令安装,在安装之前,我们先执行以下命令更新下yum

$ yum update

●然后添加mongodbyum源。

$ cd /etc/yum.repos.d/
$ vim mongodb-3.4.repo

●将以下内容添加到mongodb-3.4.repo

[mongodb-org-3.4]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.4/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.4.asc
 
这里可以修改 gpgcheck=0, 省去gpg验证
●最后再执行以下命令进行安装:
$ yum install -y mongodb-org
执行完命令后,耐心等待即可。

验证是否成功

我们再来执行以下命令验证下我们是否安装成功:

$ mongo --version
{]M(HNNEJ(66_[MVL2_86)E
看到这个结果说明已经安装成功。
●我们可以通过以下命令查看安装后的相关文件目录:
$ whereis mongod
RNNU{}~BOJVWC~5[[{U4K_5

启动,停止服务

●centos7以下的启动、停止服务命令如下:
$ sudo service mongod start //启动服务
$ sudo service mongod stop //停止服务
●centos7以上的启动、停止服务命令如下:
$ systemctl start mongod.service //启动服务
$ systemctl stop mongod.service //停止服务
$ systemctl restart mongod.service //重启服务
$ systemctl status mongod.service //查看服务状态
[HVZK2~S$5T565%J1PCW4L0
在终端输入mongo命令即可进入mongodb的shell脚本:
3ZTQ7JP[(R5WN]2P(RNLMXE
配置授权登录
这里要声明一下这个用户可配可不配,因为在et中代码没有配置用户名这块,我这里配置一下但是不用,
以防以后开发的时候需要连接mongo数据库时或者管理数据库时需要账号验证所以这里先配一下。
$ mongo
$ use admin
$ db.createUser({
 user:"root",
 pwd:"123456",
 roles:[{role:"root",db:"admin"}]
 })
]N)H3}8H3K~{X$]IWZUG1WO
user:用户名
pwd:密码
roles:指定用户的角色,可以用一个空数组给新用户设定空角色;在roles字段,可以指定内置角色和用户定义的角色。
我们再修改下配置文件,先在mongo脚本里输入exit退出mongo。之后再输入以下命令修改配置文件:
$ vi /etc/mongod.conf
(%BQNO}(LLKEBF[GGSG@]RG
如上图修改,这里没有mongodb基础的人不要随意修改这里也不要配置用户。
这里说一下MongoDB的基础操作。use XXXX = 创建XXXX数据库。
在mongo脚本里输入exit退出mongo。
到这里mongodb就完事了

第三步 在终端部署.net core的环境

此处是转载至哲学的linux跨平台部署,由于他那个版本的et比较落后,部署起来是其实是大同小异。有经验的这里已经不用看了
●先部署终端的.netcore的环境
linux安装.netcore的环境这里面包括了市面的linux系统的所有安装.netcore的方法
●打开unity打开Tools-->全局配置。把服务器地址改成自己的服务器地址如图,这里一定要配置,这是客户端连接服务器端读取的IP和端口
NCWTR3RS}UBB6C)G90E`0V9
●打开做完的项目,这里要打开主项目Client-Server项目,右键点击整个项目生成一下,我这里是没问题的,假如有其他问题参照哲学的帖子或者在群里问
RZ`DOE1NSZKB}9@5N){Z0UH
看到如上图证明就成功了
●再给Server.APP项目安装CommandLineParserNuGet包如下图
MBYYY%P_[A27A1Z4PL_{K9X
●打开CMD控制台,建议管理员运行,然后移动到自己的项目下如图,这就代表的成功了,如果是老本带enet或者其他问题请参考哲学的帖子
XK`J5TIV0MAYR{4O{40BWH1
Windows发布完毕之后,找到publish文件夹这里要声明一下,旧版本的et会生成在.netcoreapp2.0的文件夹,我这个版本的是直接生成到了Bin目录下
旧版本的是 Egametang/.netcorapp2.0/publish 
我的版本是 ET-master/Bin/publish
再找到 ET-master/Config ET-master/Logs
然后移动到如图的路径
BSN5D)4(P2)R@872MEM]MZK
 
然后手动输入命名行:
$ dotnet App.dll --appId=1 --appType=Manager --config=../Config/StartConfig/LocalAllServer.txt(因项目配置而异,自己项目的配置文件。)
然后如下图,就运行成功了,
_ARDHS7UN1%OUN[K0B`64OL
 
 
{ "_t" : "OuterConfig", "Address" : "0.0.0.0:10002", "Address2" : "外网IP:10002" }