前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【教程】搭建咸鱼之王私服,附源码下载

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

作者头像
小锋学长生活大爆炸
发布2024-05-25 09:47:37
3880
发布2024-05-25 09:47:37
举报
文章被收录于专栏:小锋学长生活大爆炸

一键部署

下载链接:

虚拟机服务器ip是 192.168.1.225 自己根据自己的网络环境调 启动命令是 cd /root/ ./run.sh 游戏地址 192.168.1.225:82 后台 192.168.1.225:88

虚拟机密码不知道,但是可以重置root密码,详细步骤可以看这个:

【CentOS】虚拟机忘记密码,如何重置密码。_centos重置密码-CSDN博客文章浏览阅读1.5w次,点赞16次,收藏83次。1.重启系统2.在这个选择界面,按e3.找到如下位置,插入init=/bin/sh。4.填写完成后按Ctrl+x引导启动5.输入mount -o remount, rw /6.重置密码出现以下为重置成功7.执行touch /.autorelabel8.退出exec /sbin/init9.输入你的新密码即可登录,到此重置密码完成!..._centos重置密码

https://blog.csdn.net/qq_31635851/article/details/124799296


手工部署一

也是前面的链接,用的是“手工端home.zip”。 1、安装宝塔

代码语言:javascript
复制
yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh

输入y回车确认安装

----------------------------------------------------------------------------------------------------------------------------------- 安装环境: Nginx 1.18 mysql 5.7 PHP 7.2 mongo4.0 关闭安全验证 redis5.0 ----------------------------------------------------------------------------------------------------------------------------------- 宝塔放行端口:1-65535 或单独放行 82,85,8889 自行抓包!

关闭防火墙:

代码语言:javascript
复制
systemctl stop firewalld
systemctl disable firewalld

----------------------------------------------------------------------------------------------------------------------------------- 上传服务端压缩文件到home目录,解压

代码语言:javascript
复制
cd /
unzip home.zip

----------------------------------------------------------------------------------------------------------------------------------- 安装openresty1.19.3.1

代码语言:javascript
复制
cd /home/proj
wget https://openresty.org/download/openresty-1.19.3.1.tar.gz
tar -zxvf openresty-1.19.3.1.tar.gz

mv openresty-1.19.3.1 openresty
cd openresty

sudo apt-get install libpcre3-dev \
libssl-dev perl make build-essential curl unzip -y

sudo yum install -y pcre-devel openssl-devel

./configure
make
make install

echo "openresty环境变量"
echo "PATH=/usr/local/openresty/bin:/usr/local/openresty/nginx/sbin:$PATH
export  LC_ALL=en_US.UTF-8
export PATH" >> ~/.bash_profile
source ~/.bash_profile

----------------------------------------------------------------------------------------------------------------------------------- 设置数据库密码为:123456 导入数据库

代码语言:javascript
复制
mysql -uroot -p123456
create database sanguo DEFAULT CHARACTER SET utf8;
flush privileges; #
use sanguo
source /home/sql/sanguo.sql
exit;

----------------------------------------------------------------------------------------------------------------------------------- 宝塔添加站点:

IP:85端口 网站目录指向:/home/proj/goserver/admin/assets/web/dist

127.0.0.1:82端口 网站目录指向:/home/proj/web-mobile ----------------------------------------------------------------------------------------------------------------------------------- 修改服务端IP:替换192.168.0.152为你自己的ip \home\proj\common\settings.lua (2 hits) \home\proj\goserver\admin\assets\web\.env.development (1 hit) \home\proj\goserver\admin\assets\web\dist\js\app.3d18e251.js (2 hits) \home\proj\goserver\admin\assets\web\dist\js\highlight.js.0adc4c0f.js (1 hit) \home\proj\goserver\agent_admin\agent_assets\web\.env.development (1 hit) \home\proj\goserver\agent_admin\agent_assets\web\dist\js\app.bfd4e5a3.js (2 hits) \home\proj\goserver\agent_admin\agent_assets\web\dist\js\highlight.js.0adc4c0f.js (1 hit) \home\proj\pyapi\wxpay\app.py (1 hit) \home\proj\web-mobile\assets\main\index.bcc80.js (3 hits) \home\proj\web-mobile\assets\resources\import\24\241bc4ec-587f-41fa-a24d-e904c5f906c6.9f804.json (1 hit)

代码语言:javascript
复制
find /home/proj/ -type f -name '*.*' | xargs sed -i 's/192.168.0.152/你的IP/g'
find /home/proj/ -type f -name '*.py' | xargs sed -i 's/192.168.0.152/你的IP/g'
find /home/proj/ -type f -name '*.js' | xargs sed -i 's/192.168.0.152/你的IP/g'
find /home/proj/ -type f -name '*.development' | xargs sed -i 's/192.168.0.152/你的IP/g'

-----------------------------------------------------------------------------------------------------------------------------------

代码语言:javascript
复制
chmod 777 -R /home/proj/

启动服务器 启动apiserver 启动

代码语言:javascript
复制
cd /home/proj/apiserver
nginx -p `pwd` -c conf/nginx.conf 

重启

代码语言:javascript
复制
nginx -p `pwd` -c conf/nginx.conf -s reload 

停止

代码语言:javascript
复制
nginx -p `pwd` -c conf/nginx.conf -s stop 

启动gameserver

代码语言:javascript
复制
cd /home/proj/skynet
sh getkey.sh

生成key,后面的串码复制后黏贴到本目录下面的key.txt里面后保存

代码语言:javascript
复制
./skynet ../loginserver/prodconfig //启动登录服务器
./skynet ../gameserver/prodconfig //启动游戏服务器
kill -9 `cat loginskynet.pid` //停止登录服务器
kill -9 `cat gameskynet.pid` //停止游戏服务器

启动goserver

代码语言:javascript
复制
cd /home/proj/goserver
./mygo //启动管理后台服务

----------------------------------------------------------------------------------------------------------------------------------- 游戏地址 http://IP:82/?id=646415 链接id后面的数字是账号随便填

后端地址: http://Ip:85/#/login?next=%2F 数据库sys_auth_user.password修改成VNgFfka8Or4= 账号:admin 密码:admin 登陆后到 游戏配置-区服配置 新增一个大区 再点开服,默认保存就行,开服活动自行研究


手动部署二

旧版教程。源码下载:https://mjj.baota.sbs/xyzw.7z

安装教程

环境:ubuntu20

1. 环境配置

1、安装 openresty1.19.3.1

代码语言:javascript
复制
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 中

代码语言:javascript
复制
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

代码语言:javascript
复制
下载源码包:https://gitee.com/mirrors/skynet?_from=gitee_search
apt-get install git autoconf

4、安装 go1.18

代码语言:javascript
复制
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

代码语言:javascript
复制
apt-get install docker.io

6、安装 mysql 数据库

代码语言:javascript
复制
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 数据库

代码语言:javascript
复制
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 数据库

代码语言:javascript
复制
/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
2. 注意事项
  1. 从网上下载开源版本 skynet,编译好后将 skynet 可执行文件复制到 /data/proj/skynet 下进行替换,可绕过 key 验证
  2. 如果需要定制引擎功能,要保证 /data/proj/skynet/cservice/caoi.so 不被覆盖
  3. 使用扩展方式开发 C 代码扩展引擎功能
3. 上传代码
  1. mkdir /data/proj
  2. 上传 config 文件夹到 /data/proj/ 下, 并修改 prod.toml 文件
  3. 上传 apiserver 文件夹到 /data/proj/ 下, 并将 depnginx.conf 替换成 nginx.conf
  4. 上传 loginserver 文件夹到 /data/proj/
  5. 上传 gameserver 文件夹到 /data/proj/
  6. 上传 common 文件夹到 /data/proj/
  7. 上传 skynet 文件夹到 /data/proj/
  8. 上传 pyapi 文件夹到 /data/proj/
4. 修改配置信息

1、/data/proj/common/settings.lua

1.1 更换mongodb数据库名

代码语言:javascript
复制
M.mongodb_tb = {
    game = "game", # 将此处的game改成leshusanguo(二开可以自定义名称)
}

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

代码语言:javascript
复制
 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

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

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

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

5.1 启动apiserver

代码语言:javascript
复制
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

代码语言:javascript
复制
cd /data/proj/skynet

./skynet ../loginserver/prodconfig //启动登录服务器

./skynet ../gameserver/prodconfig //启动游戏服务器

kill -9 `cat loginskynet.pid` //停止登录服务器

kill -9 `cat gameskynet.pid` //停止游戏服务器

5.3 启动goserver

代码语言:javascript
复制
cd /data/proj/goserver

./mygo //启动管理后台服务

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

代码语言:javascript
复制
cd /data/proj/pyapi/kefu

python main.py //启动客服服务

cd /data/proj/pyapi/wxpay

sh start.sh //启动微信支付服务
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-03-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 手工部署一
  • 手动部署二
    • 安装教程
      • 1. 环境配置
      • 2. 注意事项
      • 3. 上传代码
      • 4. 修改配置信息
      • 5. 启动源码
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档