开源一个slg策略游戏实战项目

llr104 · 2022-09-18 16:50:16 · 5098 次点击 · 大约8小时之前 开始浏览    置顶
这是一个创建于 2022-09-18 16:50:16 的主题,其中的信息可能已经有所发展或是发生改变。

服务器demo:https://github.com/llr104/slgserver

客户端demo:https://github.com/llr104/slgclient

鄙视b站、抖音 up主码神之路,从这里拿demo讲课也不说出处,忽悠小白是自己写的

代码交流群:1054084192

概要

  • mysql数据落地,orm映射
  • 事件处理支持中间件
  • 服务器与服务器之间websocket连接
  • 服务器与服务器之间rpc调用
  • 高并发

多进程服务

  • httpserver 提供一些api调用
  • gateserver 网关,可以部署多个进行负债均衡,客户端的所有loginserver、chatserver、slgserver的消息都通过该服进行转发
  • loginserver 登录服,可以部署多个进行负债均衡
  • chatserver 聊天服,可以部署多个,原则上一个slgserver对应一个chatserver
  • slgserver 游戏服,可以部署多个,不同服之间的玩家数据不共通

服务端使用简要介绍

  • cd slgserver
  • 项目已经使用go mod管理,推荐使用goland打开
  • 创建MySQL数据库:在MySQL中执行 data/conf/db.sql 文件创建服务所需的数据库,库名默认为slgdb
  • 修改配置: 修改 data/conf/env.ini 中数据库的配置,主要是密码、端口修改成自己所使用的一致即可,其他保持默认即可
  • 拉取依赖包:命令行执行 go mod tidy
  • 生成可执行程序: main 目录下包含了 httpserver、gateserver、loginserver、chatserver、slgserver 5个进程的代码, 通过 go build main/xxxserver.go(上方5个进程源代码)即可生成 5个进程执行文件,在windows环境下也可以在直接执行 shell/build.bat 生成5个进程可执行文件,可执行文件会存放在bin目录下
  • 复制配置文件到工作目录:将data文件夹拷贝到bin目录下,5个进程会用到data里的配置, window环境可以运行shell/copydata.bat完成拷贝操作
  • 启动运行:启动5个进程,无顺序要求,windows环境下可以运行shell/run.bat代劳
  • 客户端联调:cocos creator打开客户端运行即可联机测试
  • 注意在goland中点击对应的进程 run 或者 debug 前需要将输出路径和工作路径都设置成bin目录, 并且data目录已经拷贝到bin目录下,否则进程找不到运行的配置文件会异常终止

服务部署

支持docker-compose 一键部署,数据库和表都会创建好的,步骤如下:

  1. 部署需要编译go源码,编译比较占内存,内存2G以下有可能编译不成功,请保证编译内存在2G以上

  2. cd slgserver

  3. docker-compose up

  4. 修改客户端 GameConfig.ts 文件中的连接地址

   import { _decorator } from "cc";
   const GameConfig = {
       serverUrl: "ws://127.0.0.1:8004", //httpserver 地址
       webUrl: "http://127.0.0.1:8088",  //gateserver 地址
   }
   export { GameConfig };

客户端截图

队伍征兵

队伍征兵

占领领地

占领领地

出征返回

出征返回

城内设施

城内设施

武将

武将

武将详情

武将详情

友方主城

友方主城

敌方主城

敌方主城

军队前往敌方主城

军队前往敌方主城

抽卡结果

抽卡结果

战报

战报

技能

技能

联盟

联盟

聊天

聊天


有疑问加站长微信联系(非本文作者)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

5098 次点击  ∙  2 赞  
加入收藏 微博
6 回复  |  直到 2022-09-26 09:09:51
RafaelShin
RafaelShin · #1 · 3年之前

不错

liangmanlin
liangmanlin · #2 · 3年之前

厉害啊

xiaopihair
xiaopihair · #3 · 3年之前

自己的项目么?能拿来用不

GO_go_GO1
GO_go_GO1 · #4 · 3年之前

弄个私服,钱就跟大风刮来一样

Alilestera
Alilestera · #5 · 3年之前

很有意思呀,值得参考、推荐!

RafaelShin
RafaelShin · #6 · 3年之前
GO_go_GO1GO_go_GO1 #4 回复

弄个私服,钱就跟大风刮来一样

没这么夸张吧,没人用,就自己用怎么可能有钱赚

添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传