【教程】搭建咸鱼之王私服,附源码下载
【教程】搭建咸鱼之王私服,附源码下载
小锋学长生活大爆炸

【教程】搭建咸鱼之王私服,附源码下载

hualala
2024-02-23 / 4 评论 / 1,771 阅读
温馨提示:
本文最后更新于2024年03月29日,已超过237天没有更新,若内容或图片失效,请留言反馈。

lsyu7djf.png

源码下载

新增一键部署

安装教程

环境:ubuntu20

  1. 环境配置
    1、安装 openresty1.19.3.1

    apt-get install libpcre3-dev libssl-dev perl make build-essential curl
    wget https://openresty.org/download/openresty-1.19.3.1.tar.gz
    ./configure
    make
    make install

2、设置 openresty 执行目录到 path 中

1、新建或者编辑 ~/.bash_profile

vi ~/.bash_profile

2、添加以下内容

PATH=/usr/local/openresty/bin:/usr/local/openresty/nginx/sbin:$PATH
export  LC_ALL=en_US.UTF-8
export PATH

3、保存文件后,执行 source ~/.bash_profile 将PATH修改掉
3、安装 skynet1.6

下载源码包:https://gitee.com/mirrors/skynet?_from=gitee_search

apt-get install git autoconf

4、安装 go1.18

wget https://studygolang.com/dl/golang/go1.18.10.linux-amd64.tar.gz
tar -C /usr/local -xvf go1.18.10.linux-amd64.tar.gz

5、安装 docker

apt-get install docker.io

6、安装 mysql 数据库

mkdir /data/mysqldb_dir   # 创建宿主机mysql数据目录
docker pull mysql:5.7.27 # 拉取mysql镜像
# 创建docker容器 yourpassword 是你自己的mysql的密码 10.148.0.10替换为服务器内网ip
docker run --name mysql -e MYSQL_ROOT_PASSWORD=admin123456! -v /data/mysqldb_dir:/var/lib/mysql -p ip:33061:3306 -d mysql:5.7.27 

7、安装 redis 数据库

mkdir -p /data/redisdb_dir  /data/queuedb_dir # 创建宿主机redis数据目录
docker pull redis:5.0 # 拉取redis镜像
docker run --name redis  -v /data/redisdb_dir:/data -p inner_ip:63791:6379 -d redis:5.0 --appendonly yes # 创建docker容器 inner_ip替换为服务器内网ip
docker run --name queue  -v /data/queuedb_dir:/data -p inner_ip:63801:6379 -d redis:5.0 --appendonly yes # 创建docker容器 inner_ip替换为服务器内网ip

8、安装 mongo 数据库

/data/mongodb_dir   # 创建宿主机mongo数据目录
docker pull mongo:4.0.10 # 拉取redis镜像
docker run --name mongo  -v /data/mongodb_dir:/data/db -p inner_ip:32787:27017 -d mongo:4.0.10 # 创建docker容器 inner_ip替换为服务器内网ip
  1. 注意事项
  2. 从网上下载开源版本 skynet,编译好后将 skynet 可执行文件复制到 /data/proj/skynet 下进行替换,可绕过 key 验证
  3. 如果需要定制引擎功能,要保证 /data/proj/skynet/cservice/caoi.so 不被覆盖
  4. 使用扩展方式开发 C 代码扩展引擎功能
  5. 上传代码

    mkdir /data/proj
  • 上传 config 文件夹到 /data/proj/ 下, 并修改 prod.toml 文件
  • 上传 apiserver 文件夹到 /data/proj/ 下, 并将 depnginx.conf 替换成 nginx.conf
  • 上传 loginserver 文件夹到 /data/proj/ 下
  • 上传 gameserver 文件夹到 /data/proj/ 下
  • 上传 common 文件夹到 /data/proj/ 下
  • 上传 skynet 文件夹到 /data/proj/ 下
  • 上传 pyapi 文件夹到 /data/proj/ 下
  1. 修改配置信息
    1、/data/proj/common/settings.lua

1.1 更换mongodb数据库名

M.mongodb_tb = {
    game = "game", # 将此处的game改成leshusanguo(二开可以自定义名称)
}

1.2 更换ip,换成自己机器的公网 ip -- 暴露给客户端的连接信息 (外网IP)

 if M.debug then
    M.nodes['gameserver1'].host = "192.168.3.15"
 else
    M.nodes['gameserver1'].host = "you_ip"
 end

2、/data/proj/common/setting/settings_template.lua

  • 将ip换成内网或者外网ip(如果docker启动监听在内网则填写内网ip,外网则填写外网ip)
  • port换成对应的端口,比如 mysql 的 3306换成33061,取决于 docker 启动时监听的端口号,可自定义
  • 数据库相关的账户名和密码

3、/data/proj/config/prod.toml (生产环境),/data/proj/goserver/conf/dev.toml(测试环境)

  • 同样将ip和端口号换成自己的
  • 注意修改mysql的账户名密码
  1. 启动源码
    5.1 启动apiserver

    cd /data/proj/apiserver
    nginx -p `pwd` -c conf/nginx.conf //启动
    nginx -p `pwd` -c conf/nginx.conf -s reload //重启
    nginx -p `pwd` -c conf/nginx.conf -s stop //停止

5.2 启动gameserver

cd /data/proj/skynet
./skynet ../loginserver/prodconfig //启动登录服务器
./skynet ../gameserver/prodconfig //启动游戏服务器
kill -9 `cat loginskynet.pid` //停止登录服务器
kill -9 `cat gameskynet.pid` //停止游戏服务器

5.3 启动goserver

cd /data/proj/goserver
./mygo //启动管理后台服务

5.4 启动pyapi(这个可暂时不用管,很简单,就是用来支付的)

cd /data/proj/pyapi/kefu
python main.py //启动客服服务
cd /data/proj/pyapi/wxpay
sh start.sh //启动微信支付服务

原文:https://bbs.yiove.com/thread-75095.htm
0

评论 (4)

取消
  1. 头像
    elejhdoxac
    Windows 10 or 11 · Chrome . 中国湖北省十堰市电信

    龙珠传奇:闪亮师傅新篇:https://501h.com/fugu/7541.html

    回复
  2. 头像
    sexyggahuc
    Windows 10 or 11 · Chrome . 中国浙江省舟山市电信

    不错不错,我喜欢看

    回复
  3. 头像
    xwyiygdmaz
    Windows 10 or 11 · Chrome . 中国贵州省遵义市联通

    博主真是太厉害了!!!

    回复
  4. 头像
    wnjcrulnyk
    Windows 10 or 11 · Chrome . 中国贵州省遵义市联通

    博主真是太厉害了!!!

    回复