天翼之链 4.22 · 云服务器架设教程
(Windows Server 2012 + QEMU 跑 Solaris 10)
此游戏运行的是奇葩系统Solaris 10,市面上很难找使用这个系统的服务器了
想要此游戏开外网,4个办法
①: 搞一台能安装Solaris 10的服务器,运行服务端。
②: 物理机(服务器)运行Solaris 10的镜像,转发端口开外网
③: 自己家里电脑运行Solaris 10的镜像, 再通过云服务器开外网,
④: 云服务器模拟运行
----
相关游戏下载:
天翼之链422云服务器架设服务端下载
https://www.wangdanyouxi.com/thread-3059-1-1.html
新天翼之链单机版下载422外网架设服务端
https://www.0du.net/thread-9620-1-1.html
本次使用云服务器模拟运行的办法,又由于腾讯云不支持嵌套虚拟化,因此运行服务端比较慢。
原理: 装好的Solaris 10磁盘镜像(数据库/网站/游戏服务), 在服务器上免安装直接跑。
====================
0、
①:
首先重装系统,用纯净系统,防止端口冲突!
测试服务器: 腾讯轻量云服务器 4H4G(硬盘不低于50G,此游戏对CPU要求高)CPU主频越高越好
测试系统: windows server 2012
②:
你服务器网站,找到防火墙或安全组的页面, 把端口打开。
放通来源:
0.0.0.0/0
放通端口(TCP协议):
3389,40000,40011,40021,79,7100,8000,41001,41002
2222端口在用CRT的时候需要开启。
如果服务器是安全组那种,百度一下,再不会问客服。
③:远程桌面,连接你的服务器。账号Administrator 密码是自己设置的。
④: 打开运行,输入代码rundll32.exe shell32.dll,Control_RunDLL desk.cpl,,0
⑤: 磁盘管理,压缩C盘容量。压缩出的容量建立D盘(12G容量)
⑥: 此电脑,右键属性→高级系统设置→性能设置→高级,自定义大小12288
⑦:安装 360解压、微软运行库、notepad++
⑧:上传 tyzlserver.zip 放到服务器D盘 (文件可以上传网盘里,下载到服务器里)
非必需:
管理员CMD窗口: DISM /Online /Enable-Feature /FeatureName:NetFx3 /All
有的服务器安装不上,可咨询服务器客服。
========================================================
1、
配置网卡IP
①:
右下角小电视,打开网络和Internet设置
更改适配器选项,双击打开网卡,属性,打开TCP/IPv4
使用下面地址。
IP地址:你服务器外网IP
子网掩码:(cmd 输入ipconfig查)
默认网关:(cmd 输入ipconfig查)(注意是网关IP)
首选DNS:114.114.114.144
备用DNS:8.8.8.8
②:
千万不要点确定,要先点高级!!!
添加两个IP
IP地址:你服务器内网IP (注意是内网IP,不是网关IP)
子网掩码 和刚才一样
然后一路点确定。
最后退到网卡界面,此时会断网几秒,属于正常现象。等待重连。
始终连不上?那说明IP改错了,进vnc自己修正。
---------------------------------------------
(服务器网站,也能查询外网、内网IP)
物理机自测,不敢保证物理机能搭建成功。
==============================================
2、
启动流程 (所有bat文件 均需要管理员方式运行)
①: 解压 tyzlserver.zip 到 D盘 根目录
②: 第T0步-防火墙和端口.bat( 只需要运行一次)
③: 第T1步-安装网卡.bat (安装TAP网卡,只需要运行一次)
此时最好重启一下服务器
④: 第T2步-一键部署虚拟机.bat(等待60分钟以上,只需要运行一次)
首次部署后,无需再进行 第T3步-启动游戏虚拟机
---------------------------------------------------------------
如果服务器重启了,只需求启动 第T3步-启动游戏虚拟机.bat
⑤:
正确关服顺序
玩家全部退出, 等3分钟以上
运行 第T4步-停止虚拟机.bat
⑥:
注册账号:
打开 账号注册工具.exe (密码必须有字母)
【日常运维】
开服: 第T2步-启动游戏虚拟机.bat (全就绪约70-100分钟)
关服: 第T3步-停止虚拟机.bat
体检: 检查游戏端口.bat
换IP: 修改服务器IP.bat 新IP
(服务端全自动: 服务器列表+hosts+转发器RIP兜底IP一起改并重启游戏服, 约30分钟;
玩家客户端需重新用 客户端IP修改工具.exe 填新IP; 本机WinSCP会话同步改HostName)
服务器重启后虚拟机自动拉起, 无需人工登录
=====================================================
3、
如何连接服务器内的虚拟机镜像
使用SecureCRT、或者Finalshell, 连接服务器内的镜像
服务器里:127.0.0.1、端口22或者2222 账号root 密码chunwan792836549
你本机电脑:你服务器IP、端口22或者2222 账号root 密码chunwan792836549
WinSCP 改文件:
双击WinSCP.exe → 选预置会话 TW404-pub (IP/端口已配好)
首次输入root密码 → 之后像资源管理器一样双击编辑/拖拽上传
服务端在 /tw404/jtales0(登录服) /tw404/jtales1 /tw404/jtales2(游戏服),
游戏数据库在 /tw404/db
改完如何生效 —— 不用重启虚拟机! (虚拟机常年开着, 重启游戏进程即可):
pkill jtales
cd /tw404/jtales0 && nohup ./start >/tmp/jtales0.log 2>&1 </dev/null &
cd /tw404/jtales1 && nohup ./start >/tmp/jtales1.log 2>&1 </dev/null &
cd /tw404/jtales2 && nohup ./start >/tmp/jtales2.log 2>&1 </dev/null &
(全量加载约10-30分钟; netstat -an | grep 40011 | grep LISTEN 出现即就绪)
注意: /etc/inet/hosts 三行映射是防"正在进入游戏"卡死的命脉, 勿动!
hosts 类改动即时生效无需重启
什么时候才需要重启虚拟机? 只有改 Solaris 系统级配置(网络/自启链)才用
T3停 + T2起 (40-70分钟); 游戏配置/表/脚本一律只需上面四条命令
应急通道: 2222 连不上时, 在服务器本机用 telnet 127.0.0.1:23
或串口控制台 telnet 127.0.0.1 4445 (均 root 登录)
================================================
4、
客户端修改IP
①: 解压客户端本体
②: 打开客户端IP修改工具.exe → 填服务器IP → 修改并保存
(工具自动改三处: LoginServerInfo.DAT / Inphase.INI / 启动游戏.bat)
③: 注意客户端的DDraw.dll设置
====================================================
5、
登录游戏
启动游戏.bat → 开始游戏
预置GM账号:
ceshi01
123abc
=====================================================
6、
N11连接数据库
连接方式:左上角点击MySQL
连接名:随意填写
主机名:127.0.0.1或者localhost
端口:3306
账号:root
密码:chunwan792836549
=====================================
7、
游戏点上没反应?打不开?或者出现闪退。
尝试如下解决办法
①:
本机电脑 检查是否安装下面这些
微软运行库、DX9.0 、游戏运行环境包,这些必装环境。
②:
客户端内exe程序
右键, 属性,兼容性勾选win7,勾选已管理员方式启动。
③:
还不行?
我的电脑---右键属性---高级系统设置---高级---设置---数据执行保护
为除下列选定程序之外的所有程序和服务启用DEP(U)
点添加
data5pak.dat (复制此名字,手动粘贴进去)
------------------------------------------------------------
以下为本 QVM 目录的文件说明
------------------------------------------------------------
文件说明
第T0步-防火墙和端口.bat 防火墙放行 + Python3.8自动安装
install_tap.bat 安装TAP网卡驱动
第T1步-一键部署虚拟机.bat 装QEMU+转盘+启虚拟机+自动配置
第T2步-启动游戏虚拟机.bat 日常开服第一步
第T3步-停止虚拟机.bat 关服最后一步
检查游戏端口.bat 体检 (查看各服务状态)
修改服务器IP.bat 换IP/改服务器列表用
qemu-setup-5.2.exe QEMU安装器,兼容Server2012,勿升级新版!
python-3.8.10-amd64.exe Python安装器(支持2012),静默安装
master.qcow2 母盘
tw404-server.tar.gz tw404 服务端打包件
start-vm.bat / start-vm.ps1 QEMU启动(TAP网卡模式,被T1/T2/开机任务调用)
deploy_tw.py T1编排器: 转盘/启机/等就绪/自动探测公网IP/改列表+hosts
+portfwd兜底IP/写服务器IP.ini/清理QQ群号(母盘自带广告
在游戏进程加载前等长替换, 零额外重启)/重启游戏服 全自动
portfwd.py + start-fwd.bat 端口转发器: 79/7100/40000/40011/40021/41001/41002 + 2222(SSH管理) -> guest 192.168.1.86
(替代失效的netsh portproxy,开机任务TW404-FWD自动拉起)
含RIP兜底: g2c方向数据包里发现内网IP(ASC/BE4/LE4三种编码)自动替换为公网IP,
写portfwd_rip.log留痕(正常情况0触发,hosts已根治,纯保险丝)
注意: 8000端口归宿主机reg_gateway.py,严禁加入portfwd(会端口抢占,注册失效)
reg_gateway.py 注册网关(8000端口,供账号注册工具.exe建号)
tel_cmd.py telnet控制工具: python tel_cmd.py [-q] "命令" [超时秒]
check_guest.ps1 就绪检查(纯PowerShell,等telnet+游戏端口)
服务器IP.ini 当前服务器公网IP,T1部署/换IP时自动改写(也可手动编辑)
tapdriver文件夹 已测试的TAP驱动9.21.2(SHA-1签名,2012原生信任)
+ openvpn-signer.cer证书(install_tap.bat自动导入TrustedPublisher)
=======================================================
【重装/换机】
换机部署: 整个QVM目录拷走 + master.qcow2,新机上从第T0步重跑。
磁盘重置: 删 C:\TW404\solaris10.raw 重跑第T1步 (母盘不受影响)。
备份进度: 直接备份 C:\TW404\solaris10.raw (含最新账号/角色数据)。
======================================================
【日常】
开服: 第T2步-启动游戏虚拟机.bat (全就绪约40-70分钟)
关服: 第T3步-停止虚拟机.bat
体检: 检查游戏端口.bat
换IP: 修改服务器IP.bat 新IP
(服务端全自动: 服务器列表+hosts+转发器RIP兜底IP一起改并重启游戏服,约30分钟;
玩家客户端需重新用 客户端IP修改工具.exe 填新IP; 本机WinSCP会话同步改HostName)
服务器重启后虚拟机自动拉起,无需人工登录
======================================================
【改服务端文件 / 远程管理 (SecureCRT + WinSCP】
连接参数:
主机=服务器公网IP(服务器内,可填写127.0.0.1)
端口=2222 协议=SSH2
用户=root 密码=chunwan792836549
WinSCP 改文件
打开软件,选择选预置会话 TW404-pub
首次输入root密码
服务端在 /tw404/jtales0(登录服) /tw404/jtales1 /tw404/jtales2(游戏服),
游戏数据库在 /tw404/db
SecureCRT 命令行: Quick Connect → SSH2 → 主机填 IP:2222 → root 登录
改完如何生效? 不用重启虚拟机! (虚拟机常开着, 重启游戏进程即可):
pkill jtales
cd /tw404/jtales0 && nohup ./start >/tmp/jtales0.log 2>&1 </dev/null &
cd /tw404/jtales1 && nohup ./start >/tmp/jtales1.log 2>&1 </dev/null &
cd /tw404/jtales2 && nohup ./start >/tmp/jtales2.log 2>&1 </dev/null &
(全量加载约10-30分钟; netstat -an | grep 40011 | grep LISTEN 出现即就绪)
注意: /etc/inet/hosts 三行映射是防"正在进入游戏"卡死的命脉,勿动!
hosts 类改动即时生效无需重启
什么时候才需要重启虚拟机?
只有改 Solaris 系统级配置(网络/自启链)才用,T3停 + T2起 (40-70分钟);
游戏配置/表/脚本一律只需上面四条命令
应急通道:
2222连不上时,在服务器本机用 telnet 127.0.0.1:23, 或串口控制台 telnet 127.0.0.1 4445
(均需root 登录)
=======================================================
【镜像速查】
串口日志: C:\TW404\serial.log (启动/游戏日志都在这)
应急控制台: telnet 127.0.0.1 4445 (QEMU串口=Solaris控制台,root登录)
QEMU监控: telnet 127.0.0.1 4444 (stop|info status 等命令)
SSH: 公网IP:2222 (portfwd转发到guest:22),root/chunwan792836549
SecureCRT敲命令 / WinSCP(SFTP)改文件,用法同神鬼传奇;
需云安全组放行2222; 前提tap-tw MTU=360已固化
telnet: 仅本机127.0.0.1 (局域网/公网不可见)
游戏端口: 40000 (jtales0登录) 40011(jtales1) 40021(jtales2)
注册端口: 8000 (宿主机Python网关,玩家注册工具用)
游戏内IP: 192.168.1.86 (Solaris静态内网地址)
TAP网卡: tap-tw = 192.168.1.1/24, 由portfwd.py把玩家端口转发到guest
系统时间: 固定2004年(游戏会话校验要求,QEMU已用-rtc固化, 勿改宿主机时间)
