藏宝湾网游单机站

 找回密码
 注册

QQ登录

只需一步,快速开始

★【我是大主宰SF★神将三国SF】【变态页游】★

★【0.1折】★【变态网页游戏私服】★

★神将三国网页版上线送V5 5w元宝 5000w铜币 我是大主宰上线满v,80万元宝,小怪都爆元宝,耐玩长久稳定★

【原始传奇SF/魔域永恒SF】【0.1折手游】

★【原始传奇SF/魔域永恒SF】【0.1折手游】★

★『战online+原始传奇+维京传奇+血饮龙纹+魔域永恒+斗罗大陆』一刀99999999999刀刀光柱★

★1.76特色复古传奇【首区】★

★1.76特色复古传奇【首区】★

★1.76特色复古传奇【首区】,不卖一切,仅售月卡!还你2003年的热血传奇!★

★【卓越之剑】访官微变轻氪★
★【卓越之剑】访官微变轻氪★

★【卓越之剑】访官微变轻氪-欢迎技术交流★

★怒火国际服!中国人送全满!★

★火爆怒火国际服 3D版【三端互通】★

★国人满赞助!12档会员直接拉满 国人拿首充!三日首充直接拉满 国人拿货币!1个亿灵符随便花 国人拿材料!拿时装!爽就完事了★

★0.1折!独家超低折扣手游★

★0.1折!独家超低折扣手游★

★0.1折!0.1折!0.1折!独家超低折扣手游公益服,首冲续充全部0.1折★

★【九阴真经】端游私服仿官★

★【九阴真经】端游私服仿官★

★国产大型武侠端游《九阴真经》SF问世了。2017年至今-【稳定】充值1比10,活跃就送至尊风物志,跨服雪域应有尽有。★

橘子冒险岛079★复古内挂ᐃ养老服

★★橘子冒险岛079★★复古内挂ᐃ养老服★★

★橘子MapleStory079(复古) ★内挂★技能突破玩法★新人进服赠送200积分★★新服启航,福利多多★☆增加五转技能☆ ★游戏启航★ ★火热内测★★

★DNF★全职业平衡★公益服★
★DNF★全职业平衡★公益服★

【dnf86版本】【怀旧服】【全职业平衡】【非变态服】【非商业服】【868027375】

免费玩服找服,认准520梦幻资讯网!

★免费玩服找服,认准520梦幻资讯网★

★梦幻长期免费玩服,找服,请找www.mhxy520.com★

★梦幻西游★极致仿官公益★

★梦幻西游★极致仿官公益★

★无定制,全靠打,自由交易市场,无假人无托无gm介入,封任何脚本,银子保值。★

★ 新开三静脉,白嫖天堂★

★ 新开三静脉,白嫖天堂★

★逍遥西游,微变三经脉精心制作经典肝帝持续新区★

【梦幻西游】★端游领先版★
★【梦幻西游】★端游领先版★★

【梦幻西游★官方泄露版】----4月新区,无定制,无抽奖,全新战锦,每周更新一次。

★【梦幻国度】★端游★公益服★

★【梦幻国度】★端游★公益服★

★【梦幻国度】【端游】【全新版本公益服】【一样的童年不一样的游戏】【群63417379】★

★梦幻西游★仿官公益无充值★

★梦幻西游★仿官公益无充值★

★【情缘梦幻西游★独家仿官纯公益版】----2024新区,无定制,持续推广更新。推荐指数:★★★★★★★★★★★

★【梦幻西游★08仿官长久养老服】★

★★【梦幻西游★08仿官长久养老服】★★

★【梦幻西游★08仿官服2月新服,新人有路费资源福利】★

★【手游端游一键全自动搭建脚本】★

★【手游端游一键全自动搭建脚本】★

★【手游端游一键全自动搭建脚本】搭建游戏解放双手小白用了都说好★

★手游内部充值0.05折千款手游★

★手游内部充值0.05折千款手游★

★0.1折直充数千款手游可申请内部充值0.05折!超低折扣手游,全版本传奇手游--仙侠--古风-卡牌-角色扮演-二次元-全题材手游都支持内部充值0.05折★

★闪烁之光★精修PVP公益竞技服★

★闪烁之光★精修PVP公益竞技服★

★ ★★★全网独家精修★★★【闪烁之光】平衡PVP竞技公益服★应龙版本★上线十亿钻★长久养老★

★全新开服可白嫖放置传奇 荐★

★全新开服可白嫖放置传奇 荐★

★可白嫖 上班摸鱼类 放置文字传奇游戏(放置休闲)qq群756025698 ★

★【4月11日新服公测,全员领福利】★

★★【梦幻 4月新服,新人有路费 资源福利】★★

★★【梦幻西游★08仿官服微变 4月新服,新人有路费 资源福利】★★

6555my梦幻资讯网,众多私服发布网

★6555my梦幻资讯网,众多私服发布网★

★★★6555my梦幻资讯网,众多私服发布网★★★

★梦江南仿官无充值★

★ ★梦江南仿官无充值★★

★上线就送永久会员、银子礼包群号:531010715★

【百款GM页游+1折手游,上线送满级VIP】

★【百款GM页游+1折手游,上线送满级VIP】★

★【百款变态页游SF】【变态手游SF】【安卓+IOS手游】【上线免费顶级VIP】★

★【星空石器3.0】复古端游 有挂限制2开★
★★【星空石器3.0】复古端游 有挂限制2开★★

★【石器时代3.0纯PC-有挂限制2开】儿时怀旧游戏每晚活动多多 组队玩法 单人玩法 应有尽有 无需繁琐182任务★

★【大话西游2】稳定耐玩★只合不关★

★【大话西游2】稳定耐玩★只合不关★

★【大话西游2★2024最新版】稳定耐玩★只合不关★人气超旺★

★承接推广★

★承接推广★

★承接推广★

★承接推广★

★承接推广★

★承接推广★

查看: 1678|回复: 25

[原创] 用程序员的方式打开服务端 docker启动天龙服务端

[复制链接]
 楼主| 发表于 2022-1-2 03:37:20 | 显示全部楼层 |阅读模式
因为自己的服务器环境版本比较高, 跑服务端好多依赖要降级, 又不舍得再买个服务器, 于是想到了docker, 我这里详细说一下docker开服的思路.

要点1: 因为tlbb服务端要求mysql版本是5.1.43, 我的是5.7, 本来我觉得这不是问题, 都是同一个大版本, 没想到插入中文记录的时候就硬是报错, 身为一个后端程序员, 解决了两天, 真的耻辱, 降级mysql又要换依赖, 这个方法卒!
要点2: tlbb服务器都大多都是跑ubuntu14.04, 我个人又对centos更熟悉, 所以ubuntu各方面操作, 包管理, 依赖等用起来很不习惯.
要点3: 群里的网友太不热心了, 幸好我自己有两把刷子, 不然真的搞不定. (在此期间还认识了一个畅游的专负责tlbb充值业务的程序员道友, 非常给力给我找回来丢失的账号)

# 1. 下载环境依赖包

是一个叫做 "最新 天龙环境搭建-" 的压缩包 别人给我的

解压缩 重命名(全英文) 然后上传服务器

比如我放在/root/temp/envBuild

# 2. 将环境搭建的这个文件夹 挂在进合适的docker镜像里

这里我选择的是centos7.2

docker run --name tlbb-env -it -v /root/temp/envBuild:/opt/ centos:centos7.2.1511

其中exec -it <> /bin/bash命令是进入容器内部

即这个命令 就把我的/root/temp/envBuild挂载到镜像的/opt/里去了 注意这里就是opt文件夹, 因为里面那个脚本 是这样写的 我也懒得改脚本 不规范就不规范吧

# 3. 跑一下环境

./tl-chs.sh

如果跟我的镜像一样, 选2, 这里根据自己的镜像版本选择

# 4. 保存镜像

这个镜像只要带上tlbb文件夹就可以跑天龙八部了, 还差一步, 就是保存这个镜像 然后把tlbb文件夹挂载进去

我们现在还在docker内部 我们先输入exit退出镜像

然后我们提交我们的镜像 比如

docker  commit  -m "天龙八部基本环境" -a "MASIJUN" <id> tlbb-base-env

这个id可以通过docker ps | grep centos查看 不用全部输入 输个三四位就够了(不重复的前提下)

这个时候 输入docker images | grep tlbb就可以看到我们自己的镜像了

# 5. 编写dockerfile

这时候我们要写一个Dockerfile, 因为docker启动机制不同于虚拟机, 必须要有一个可持续进行的脚本来维持虚拟机的启动, 这里我推荐两种方式

(1) 第一种方式, 适合个人玩家, 我们进入run.sh的编辑, 我们把最下面有一行exit, 替换成 tail -f /dev/null 这里可以让脚本持续进行
(2) 第二种方式, 适合查看日志, 就是把Server启动方式换成 ./Server, 这个不需要我赘述, 如果有这方面需求一下就看得明白.


这个Dockerfile务必要放在 tlbb同根目录, 比如tlbb在/home下 这个Dockerfile也要在那里 因为Dockerfile是相对路径寻找文件的, 反正放一起就对了 放在同级


Dockerfile包含很多内容, 主要是FROM COPY EXPOSE ENTRYPOINT


完整Dockerfile给你们 直接复制粘贴小改即可


# 基于这个tlbb环境镜像 创建带服务端镜像
FROM tlbb-base-env:latest  
# 把这个tlbb目录复制到镜像里
COPY ./tlbb /home/
# 数据库端口
EXPOSE 3306  
# 登录端口
EXPOSE 7775  
# 游戏端口
EXPOSE 7776  
# 启动命令
ENTRYPOINT /home/tlbb/run.sh  


如果多服务器 需要用docker-compose编排一下 或者手动启多个docker, 也是一样, 有需要用到这个功能的, 都不用我多说哈哈哈


# 6. 执行Dockerfile

在Dockerfile所在文件夹 执行docker build -t <name> ./


这个名字自己起哈


# 7. 执行


docker run -d --name <name> -p 7712:3306 -p 7775:7775 -p 7776:7776 <image-name>:<tag>


-d是后台运行


-p是端口映射, 把镜像里的端口映射出来的意思 左边为主机端口, 右边为镜像里的端口, 大致意思就是 我把服务器里面自带的mysql的3306 映射到主机的7712端口这样的意思, 如果多服务器 可以使用这种方法在不批量修改配置文件的前提下规避端口冲突


# 8. 附

(1)我在第一次运行 发现mysql没有起来, 于是可以在/run.sh最上面添加一行命令 /etc/init.d/mysql restart, 重新执行第六步

(2)mysql装好了游戏还没起来 使用docker exec -it <id> /bin/bash进入容器内部, 输入ps -ef查看 有哪些服务启动成功, 结果一个都没起来, 使用cd到Server 使用./shm start发现缺少/lib/ld-linux.so.2依赖, 手动yum安装一下吧. yum install ld-linux.so.2

(3)再次启动还是报错, 缺少 libstdc++.so.6, 然后输入yum install libstdc++-4.8.5-44.el7.x86_64先更新一手, 在启动还是错, 还是一样的 再次 yum install libstdc++.so.6, 在启动没错了

# 9. 声明

本文章是突然有想法想做 边做边写的 在跟着我的过程 必定会踩坑 有问题及时交流 不要骂我

评分

参与人数 1金币 +2 收起 理由
cjhcumt + 2 宝湾是我家,维护靠大家。

查看全部评分

 楼主| 发表于 2022-1-2 03:44:02 | 显示全部楼层
如果大家比较喜欢这种方式 我会出一个简易版启动 直接拉我建立好的docker做到真正的一键端 都不需要改ip 直接一条命令启动服务器
 楼主| 发表于 2022-1-2 03:45:55 | 显示全部楼层
当然可以衍生出更多的操作 比如Dockerfile里不加入COPY 在docker run的时候 用-d将tlbb文件夹挂载进去 这样更加灵活!
发表于 2022-1-2 09:41:29 | 显示全部楼层
不明觉厉,支持支持
发表于 2022-1-2 11:16:54 | 显示全部楼层
天龙手游就是docer容器,这种方式虽然麻烦,但是部署好之后很方便,希望楼主能整理个详细的我要收藏备用
发表于 2022-1-2 11:26:49 | 显示全部楼层
本帖最后由 1399123 于 2022-1-2 11:27 编辑

参考https://github.com/1995chen/dnf
发表于 2022-1-2 11:38:33 | 显示全部楼层
群主666 希望出详细教程 我等小白福音
发表于 2022-1-2 11:45:42 | 显示全部楼层
如果使用这个容器  岂不是可以用群晖直接挂载服务端了
 楼主| 发表于 2022-1-2 16:18:52 | 显示全部楼层
安装docker的连接在此
https://docs.docker.com/engine/install/centos/
我来提取一下关键信息
按行执行以下命令
```
sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine
```
```
sudo yum install -y yum-utils
```
```
sudo yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo
```
```
sudo yum install docker-ce docker-ce-cli containerd.io
```
```
sudo systemctl start docker
```
至此 docker就安装完毕了

可以执行docker ps查看目前运行的镜像(docker虚拟机)

然后也可以注册一个阿里云账号 选择镜像加速服务 根据系统版本选择加速服务(很好用)
 楼主| 发表于 2022-1-2 16:35:19 | 显示全部楼层
canai1123 发表于 2022-1-2 11:45
如果使用这个容器  岂不是可以用群晖直接挂载服务端了

原则上可以 哈哈哈 要看能不能互相ping通
 楼主| 发表于 2022-1-2 17:54:16 | 显示全部楼层
一键启动来了
docker pull masijun-docker.pkg.coding.net/xmsz/tlbb/tlbb-env-base:1.0
docker run -d --name tlbb-server --privileged=true -p 3306:3306 -p 7775:7775 -p 7776:7776 -v /home/tlbb/:/home/tlbb/ masijun-docker.pkg.coding.net/xmsz/tlbb/tlbb-env-base:1.0

注意端口的修改 左边端口是宿主机端口 右边是镜像端口

还有 执行这个命令前 记得把你的开服文件 放在/home/tlbb

附 run.sh记得要按我楼里说的 修改一下子
 楼主| 发表于 2022-1-2 17:58:16 | 显示全部楼层
lytao 发表于 2022-1-2 17:54
一键启动来了
docker pull masijun-docker.pkg.coding.net/xmsz/tlbb/tlbb-env-base:1.0
docker run -d - ...

命令详解 -p是端口映射 docker本质也是虚拟机 在docker执行的./Server等也有端口 你要把他们的端口拿出来 我给开的都是7775和7776 你要把你的ServerInfo.ini的端口改成7776 LoginInfo.ini的端口改成7775 映射到本机的时候 你就可以改成你自己的 比如5677 5688等 这样访问宿主机ip+5677就可以访问到docker里的端口 数据库也是同样的道理
 楼主| 发表于 2022-1-2 18:01:06 | 显示全部楼层
还有不会的 可以加我qq我帮你 785493116
发表于 2022-1-3 18:16:25 | 显示全部楼层
外行人表示不知道docker是什么,,,双十一的时候买了个腾讯云的248轻量服务器,经过一个星期断断续续的边查教程边尝试操作,也成功把虚拟机里的万象端搞上了服务器。就是重装了无数遍镜像Orz...
后来把其他端复制出来上服务器,又遇见了错误,才学会使用打包命令。。。成功从一个连换端都不懂的小白,成为一个能够独立开群服的小白。但是目前仍旧没搞懂怎么使用天龙的明文补丁制作私服客户端,用可更新登陆器把补丁更新进data文件后,用其他单机登陆器会提示使用Launch开始游戏,不知道是不是还需要配套的bin还是别的原因.
 楼主| 发表于 2022-1-4 00:16:18 | 显示全部楼层
qqq38734811 发表于 2022-1-3 18:16
外行人表示不知道docker是什么,,,双十一的时候买了个腾讯云的248轻量服务器,经过一个星期断断续续的边 ...

如果硬要打个比方 就是 vm虚拟机对应windows系统 而docker对应linux
发表于 2022-1-4 09:20:07 | 显示全部楼层
lytao 发表于 2022-1-4 00:16
如果硬要打个比方 就是 vm虚拟机对应windows系统 而docker对应linux

明白了,那你这服务器配置挺强了,我买的3年的腾讯248服务器,也才198,感觉小白还是直接用这个比较合适
 楼主| 发表于 2022-1-4 16:54:02 | 显示全部楼层
qqq38734811 发表于 2022-1-4 09:20
明白了,那你这服务器配置挺强了,我买的3年的腾讯248服务器,也才198,感觉小白还是直接用这个比较合适: ...

好处其实是 只要配好docker环境 天龙就可以一键启动 并且多个互不干扰 跟vm一样
发表于 2022-1-4 18:12:41 | 显示全部楼层
lytao 发表于 2022-1-4 16:54
好处其实是 只要配好docker环境 天龙就可以一键启动 并且多个互不干扰 跟vm一样

配置一键启动倒是简单,我都直接给服务器加上了开机自动启动run.sh ,也方便的,就是可能因为配置不够有时某个服务会开机启动不成功,需要关闭服务重新启动
发表于 2022-1-6 07:07:17 | 显示全部楼层
厉害,非常有意思
发表于 2022-6-26 18:42:09 | 显示全部楼层
感谢楼主的分享,前段时间正好在学linux运维 docker部署相关的东西,了解的还很少很少,看到这个教程瞬间特别想尝试了,弄了1个周末,可以正常玩了。 学习使我快乐。。。 ,感谢楼主
您需要登录后才可以回帖 登录 | 注册

本版积分规则

本站内容如若侵犯到您的权益,请来电来函告知,我们会尽快处理!
联系QQ:1953150286,2251387361,123784736,免责申明

排行榜|联系我们|小黑屋|手机版|Archiver|游戏藏宝湾 |

GMT+8, 2024-4-20 06:35 , Processed in 0.070833 second(s), 21 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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