当前位置: 首页>編程日記>正文

白鹭游戏引擎网络棋牌搭建步骤

白鹭游戏引擎网络棋牌搭建步骤

前言:

        项目是一个游客登录型的棋牌联网游戏,前端是白鹭引擎,后端PHP开发。分为登录和获取基本信息的Http层和websocket通信的游戏层。后台需要有一个分布式网关服务器(php游戏网关)。以下为了搭建更快捷,使用宝塔进行操作,前提已经通过宝塔安装完毕了LNMP。

 

环境:

  1. CentOS7
  2. PHP7.3,至少要大于5
  3. 宝塔
  4. Nginx

 

步骤:

  1. 下载完源码地址的源码,解压得到以下四个目录,分别的用途见标注。

 

2. EgretWing工具导入client中的代码,web整个文件夹的代码放入服务器(我是本地使用VM搭的centOS虚拟机)。

3. 宝塔中的使用的PHP安装yaf扩展,重启PHP后访问查看phpinfo()可能找不到yaf

 

4. 通过宝塔的创建网站添加web中的代码,使得能通过域名请求到web目录下的api.php就行。主要是三个接口,分别返回登录信息,websocket的地址和端口,图片代理等。

5. 代码client文件中的代码修改”src/scene/Login.ts”的onLoginTouch方法中请求网络接口为上面web中配置的域名,”src/Main.ts”中的initGame方法同样修改网络请求地址为上面web配置的域名。接口分别是昵称和登录token,另一个是websocket地址和端口。

6. 下载上面的Fooking的源代码,并将代码放入服务器中,目录结构如下。

 

7. 打开服务器命令面板,cd进入fooking目录(以我的为例,名字可以自定义)。然后make进行编译。Src目录中多出后缀为0的文件,面板也会显示编译结束。

 

8. 打开fooking目录下的router.lua文件。PROT可以自行定义,确定下了这个端口,我的是8015。就需要在centOS防火墙中对其放行,宝塔是直接点击安全添加8015进行放行。

 

9. 依然是同级目录,打开config.lua文件,端口就是游戏中webscket进行连接的端口。

主要配置的有路由服务器地址(上面router设置的端口和地址),后端服务器列表的“BACKEND_SERVER”,以及fastcgi params,配置标注如下。

--监听IP和端口
HOST = "0.0.0.0";
PORT = 9005;--守护进行
--DAEMONIZE = 1;--日志文件(为空则不输出日志, stdout-输出到标准输出上, 其它则按文件处理)
LOG_FILE = "stdout";--直接屏幕打印
--LOG_FILE = "/tmp/fooking-gateway.log";--输出到文件--1: 仅error
--2: error与info
--3: 所有
LOG_LEVEL = 3;--是否路由服务器(0-否, 1-是)
--如果是路由,ROUTER以下的配置将被忽略)
ROUTER = 0;--服务器ID
SERVER_ID = 1;--工作进程
WORKER_NUM = 2;--最大连接数
MAX_CLIENT_NUM = 10000;--缓冲区大小
MAX_BUFF_SIZE = 4096;--路由服务器
ROUTER_HOST = "192.168.234.128";
ROUTER_PORT = 8015;--SSL配置
--SSL = 1
--SSL_CERT = "/tmp/cert.pem"
--SSL_PKEY = "/tmp/pkey.pem"--指定时间内连接没有数据包请求,将会踢掉连接(单位秒),为0不处理
IDLE_TIME = 0;--脚本
SCRIPT_FILE = "../scripts/Websocket.lua";--后端服务器列表
BACKEND_CONNECT_TIMEOUT = 5;--连接超时时间(单位秒)
BACKEND_READ_TIMEOUT = 10;--数据接收超时间(单位秒)
BACKEND_KEEPALIVE = 10;--最大维持长连接数量
BACKEND_SERVER = {["unix:/tmp/php-cgi-73.sock"] = 5,--第一列是socket选项,第二列是权重(跟nginx的upstream差不多一个意思)
};--新连接是否通知(0-不通知, 1-通知)
--请求头会有EVENT=1
EVENT_CONNECT = 0;--关闭连接是否通知(0-不通知, 1-通知)
--请求头会有EVENT=2
EVENT_CLOSE = 1;--fastcgi params
FASTCGI_PREFIX = "";--go下要使用HTTP_作为前缀,否则拿不了SESSIONID和EVENT
FASTCGI_ROOT = "/www/wwwroot/san_zhang_pai/server/";--必须以/结尾
FASTCGI_FILE = "server.php";
FASTCGI_PARAMS = {["SERVER_SOFTWARE"] = "fooking",["SERVER_PROTOCOL"] = "HTTP/1.1",["GATEWAY_INTERFACE"] = "CGI/1.1",["REQUEST_METHOD"] = "POST",["SCRIPT_FILENAME"] = FASTCGI_ROOT..FASTCGI_FILE,["SCRIPT_NAME"] = FASTCGI_FILE,["DOCUMENT_ROOT"] = FASTCGI_ROOT,["SERVER_NAME"] = "server.yafgame.com/",["QUERY_STRING"] = "a=10&b=20",
};

10. 启动router.lua。 Cd src,然后./fooking ../router.lua

11. 查看php-fpm配置文件方法,命令输入, ps -ef | grep fpm。可以看到php-fpm的配置文件。

12. 找到并打开php-fpm.conf文件,可以看到监听的通信方法以及通信的具体地址,还有fpm的错误日志存放地址。宝塔Nginx与fpm默认是以unix socket方法,如果fpm修改成了tcp,那nginx也要修改。

 

13. 查看fpm.conf后与fooking的config设置完毕后,就可以开始启动config了。Cd fooking, 然后./fooking ../config.lua。

如果出现Can't found available backend server, Please check BACKEND_SERVER,多是因为config的后端配置填的通信方式与fpm的不一致。其他的就是FASTCGI_ROOT没填对地址。

 

14. 最后打开EgretWing导入的client中的源码,点击调试,弹出游戏界面,登录后正常的话就会进入游戏界面了。

 

Fooking分布式游戏服务器网关结构图--

15. 启动的config.lua出现“stream_socket_client(): unable to connect to tcp://127.0.0.1:9010”时,修改server的“config”中的router,IP和端口换成router.lua中配置启动的地址和端口。

16. 修改server的redis中的为自己安装的地址和端口,web的api/api/api/include/config.inc.php,修改redis地址和微信公众号APPID等地址。

 


https://www.fengoutiyan.com/post/13431.html

相关文章:

  • 白鹭引擎适合做移动端吗
  • 白鹭引擎是什么
  • 白鹭引擎难不难
  • 广西棋牌软件开发公司
  • 棋牌搭建源码
  • 白鹭引擎物体移动移动
  • 白鹭引擎免费吗
  • 怎么搭建棋牌平台
  • 鏡像模式如何設置在哪,圖片鏡像操作
  • 什么軟件可以把圖片鏡像翻轉,C#圖片處理 解決左右鏡像相反(旋轉圖片)
  • 手機照片鏡像翻轉,C#圖像鏡像
  • 視頻鏡像翻轉軟件,python圖片鏡像翻轉_python中鏡像實現方法
  • 什么軟件可以把圖片鏡像翻轉,利用PS實現圖片的鏡像處理
  • 照片鏡像翻轉app,java實現圖片鏡像翻轉
  • 什么軟件可以把圖片鏡像翻轉,python圖片鏡像翻轉_python圖像處理之鏡像實現方法
  • matlab下載,matlab如何鏡像處理圖片,matlab實現圖像鏡像
  • 圖片鏡像翻轉,MATLAB:鏡像圖片
  • 鏡像翻轉圖片的軟件,圖像處理:實現圖片鏡像(基于python)
  • canvas可畫,JavaScript - canvas - 鏡像圖片
  • 圖片鏡像翻轉,UGUI優化:使用鏡像圖片
  • Codeforces,CodeForces 1253C
  • MySQL下載安裝,Mysql ERROR: 1253 解決方法
  • 勝利大逃亡英雄逃亡方案,HDU - 1253 勝利大逃亡 BFS
  • 大一c語言期末考試試題及答案匯總,電大計算機C語言1253,1253《C語言程序設計》電大期末精彩試題及其問題詳解
  • lu求解線性方程組,P1253 [yLOI2018] 扶蘇的問題 (線段樹)
  • c語言程序設計基礎題庫,1253號C語言程序設計試題,2016年1月試卷號1253C語言程序設計A.pdf
  • 信奧賽一本通官網,【信奧賽一本通】1253:抓住那頭牛(詳細代碼)
  • c語言程序設計1253,1253c語言程序設計a(2010年1月)
  • 勝利大逃亡英雄逃亡方案,BFS——1253 勝利大逃亡
  • 直流電壓測量模塊,IM1253B交直流電能計量模塊(艾銳達光電)
  • c語言程序設計第三版課后答案,【渝粵題庫】國家開放大學2021春1253C語言程序設計答案
  • 18轉換為二進制,1253. 將數字轉換為16進制
  • light-emitting diode,LightOJ-1253 Misere Nim
  • masterroyale魔改版,1253 Dungeon Master
  • codeformer官網中文版,codeforces.1253 B
  • c語言程序設計考研真題及答案,2020C語言程序設計1253,1253計算機科學與技術專業C語言程序設計A科目2020年09月國家開 放大學(中央廣播電視大學)
  • c語言程序設計基礎題庫,1253本科2016c語言程序設計試題,1253電大《C語言程序設計A》試題和答案200901
  • 肇事逃逸車輛無法聯系到車主怎么辦,1253尋找肇事司機