ad208三国

 找回密码
 加入
搜索
热搜: 活动 交友 discuz
查看: 1275|回复: 2

咸鱼之王源码

[复制链接]
发表于 2024-2-21 23:25:54 | 显示全部楼层 |阅读模式

pc2g,电脑好游戏     操作系统 ubuntu20
    安装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
    设置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修改掉
    安装 skynet1.6
            下载源码包:https://gitee.com/mirrors/skynet?_from=gitee_search
            apt-get install git autoconf
    安装 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
    安装docker
            apt-get install docker.io

    安装mysql数据库
        mkdir /data/mysqldb_dir   //创建宿主机mysql数据目录
        docker pull mysql:5.7.27 //拉取mysql镜像
        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 //创建docker容器 yourpassword是你自己的mysql的密码 10.148.0.10替换为服务器内网ip

    安装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

    安装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、从网上下载开源版本skynet,编译好后将skynet可执行文件复制到/data/proj/skynet下进行替换,可绕过key验证
            2、如果需要定制引擎功能,要保证/data/proj/skynet/cservice/caoi.so不被覆盖
            3、使用扩展方式开发C代码扩展引擎功能
    上传服务器代码
        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/下

    配置信息修改(改成对应的ip和端口)
            /data/proj/common/settings.lua
                    1、更换mongodb数据库名
                            M.mongodb_tb = {
                                    game = "game", -- 将此处的game改成leshusanguo(二开可以自定义名称)
                            }
                    2、更换ip,换成自己机器的公网ip
                            -- 暴露给客户端的连接信息 (外网IP)
                            if M.debug then
                                M.nodes['gameserver1'].host = "192.168.3.15"
                            else
                                M.nodes['gameserver1'].host = "you_ip"
                            end
            /data/proj/common/setting/settings_template.lua
                    1、将ip换成内网或者外网ip(如果docker启动监听在内网则填写内网ip,外网则填写外网ip)
                    2、port换成对应的端口,比如mysql 3306换成33061,取决于docker启动时监听的端口号,可自定义
                    3、数据库相关的账户名和密码
            /data/proj/config/prod.toml (生产环境),/data/proj/goserver/conf/dev.toml(测试环境)
                    1、同样将ip和端口号换成自己的
                    2、注意修改mysql的账户名密码

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

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

            启动pyapi(这个可暂时不用管,很简单,就是用来支付的)
                    cd /data/proj/pyapi/kefu
                    python main.py //启动客服服务

                    cd /data/proj/pyapi/wxpay
                    sh start.sh //启动微信支付服务


打包下载带教程https://mjj.baota.sbs/xyzw.7z

百度盘链接:https://pan.baidu.com/s/1e2Sj-63rwZPBQi1jF1JTGg提取码:891C
 楼主| 发表于 2024-2-26 19:14:15 | 显示全部楼层
链接:https://pan.baidu.com/s/1q80s2q8RtpD1hAbQTb1XxA
提取码:27pm

【超级会员V4】通过百度网盘分享的文件:lyzwlkjv…
链接:https://pan.baidu.com/s/10f6haQo1yrzWopQxesHTmQ
提取码:16kq
 楼主| 发表于 2024-2-29 10:44:31 | 显示全部楼层
一键端
链接: https://pan.baidu.com/s/173jz6BQDjuFY8-CixEs5dg 提取码: rrr6
链接:https://pan.baidu.com/s/1t1Aj5zfAjbPVyuKq1jbd2w?pwd=518i 提取码:518i   
https://www.123pan.com/s/pO8Ajv-gB2X.html提取码:FERJ

开个新服,重启机器后,手动去执行 run.sh 里面的启动步骤,手动启动mysql。
1、mongo启动不了 得重新装一个
2、skynet密钥需要生成一个

Archiver|手机版|小黑屋|ad208三国

GMT+8, 2024-10-10 00:34

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表