天龙八部私服环境配置(Ubuntu)

天龙八部私服环境配置(Ubuntu)

找出了15年前买的一台笔记本(联想Y430A),当时是挺好的,后来更新换代,闲置未用,之前升级过CPU和内存(从T3200花30元升级到T9600,内存升级到4G),用来跑游戏服务器也足够了,主要是自己玩。

之前安装过ubuntu22,是64位,未设置成功,本次安装ubuntu16-32位试试。一路记下过程

一、安装ubuntu

1、下载安装镜像ISO

http://old-releases.ubuntu.com/releases/?spm=a2c6h.13651104.d-5186.2.70ad29ca5De0AY

下载ISO镜像:官网速度慢的话,可以从国内镜像站下载,常用的几个镜像:

http://mirrors.163.com/ubuntu-releases/16.04/

https://mirrors.tuna.tsinghua.edu.cn/ubuntu-releases/16.04/

https://mirrors.aliyun.com/oldubuntu-releases/releases/?spm=a2c6h.25603864.0.0.63826f0f8F7GqN

下载:ubuntu-16.04-server-amd64.iso

2、安装

制作安装盘安装,我是用Ventoy制作启动盘,ISO放里面,可启动。好处是:这是一个启动盘,其他ISO放里面也可以安装,不用再整盘重写,对于我来说太方便了,经常装系统,搞系统维护。

安装过程不用赘述。

注意点:

  • 笔记本太老,只能用传统启动模式,MBR格式,装了几次才装上
  • 插上网线,一次性连网上驱动安装好
  • 安装时附带安装OpenSSH,可远程操作

二、配置环境

1、安装mysql数据库及驱动

#安装mysql
sudo apt-get install mysql-server
sudo apt-get install mysql-client
sudo apt-get install libmysqlclient-dev
 
#安装odbc
sudo apt-get install unixodbc
sudo apt-get install unixodbc-dev
sudo apt-get install libmyodbc

其中,前5个都能装,最后一个libmyodbc安装不上,搜索方法,只有到官网去下载安装

#最新版:
https://dev.mysql.com/downloads/connector/odbc/
#旧版
https://downloads.mysql.com/archives/c-odbc/

我们安装旧版,选择了

Product Version: 5.1.0

Operating System: Linux - Generic

OS Version: All Operating Systems (Generic) (x86, 32-bit) All Operating Systems (Generic) (x86, 64-bit)

mysql-connector-odbc-5.3.2-linux-glibc2.5-x86-32bit.tar.gz)

https://downloads.mysql.com/archives/get/p/10/file/mysql-connector-odbc-5.1.0-alpha-linux-x86-32bit.tar.gz

解压后,将lib目录下的libmyodbc5.so 复制到/usr/lib/odbc/下

wget https://downloads.mysql.com/archives/get/p/10/file/mysql-connector-odbc-5.1.0-alpha-linux-x86-32bit.tar.gz
cd mysql-connector-odbc-5.3.2-linux-glibc2.5-x86-32bit
sudo cp lib/libmyodbc5-5.1.0.so /usr/lib/odbc/libmyodbc.so

至此驱动安装好了。

2、导入数据库

mysql -uroot -p

CREATE DATABASE tlbbdb  DEFAULT CHARACTER SET latin1;
CREATE DATABASE web  DEFAULT CHARACTER SET latin1;

导入空白数据库:预先将tlbbdb.sql、web.sql放入home目录:

use tlbbdb;
source /home/tlbbdb.sql;

use web;
sorece /home/web.sql;

3、测试驱动

修改/etc/odbc.ini:

sudo vi /etc/odbc.ini

odbc.ini内容,其中,用户名、密码换成自己设置的数据库用户名和密码:

[tlbbdb]
Driver          = /usr/lib/odbc/libmyodbc.so
Description     = MyODBC 3.51 Driver DSN
SERVER          = 127.0.0.1
PORT            = 3306
USER            = root
Password        = 123456
Database        = tlbbdb
OPTION          = 3
SOCKET    

odbc连接测试

isql tlbbdb -v

+---------------------------------------+
| Connected!                            |
|                                       |
| sql-statement                         |
| help [tablename]                      |
| quit                                  |
|                                       |
+---------------------------------------+
SQL> 

以上界面则连接成功,数据库及驱动安装成功。

三、天龙八部服务端配置

服务端运行,需要天龙八部服务端和验证网关,一般linux云行服务端,windows云南验证网关,以前的一键端都是在本机内云行两个VMware虚拟机,非常占用内存,直到”liuguangw”老大写了linux下的验证网关后,可直接云行在linux下,省去了windwos虚拟机,都知道windows比linux更占资源。

本次是实体机安装,不用虚拟机.

流光老大还写了一个天龙八部的网管GM工具:

https://github.com/liuguangw/TlbbGmTool

1、服务端

服务端放在/home/目录,方式多种多样,将tlbb.tar.gz上传到/home/

cd /home/
tar -zxvf tlbb.tar.gz
cd tlbb

2、验证网关:

就用流光大神的billing_go

cd /home
wget https://github.com/liuguangw/billing_go/releases/download/v1.3.3/billing-release-x32.tar.gz
tar -zxvf billing-release-x32.tar.gz
cd billing

3、配置billing:有yaml和json格式

vi config.yaml

# #后面的为注释
# 字符串可以不加引号,除非里面有#字符,所以如果数据库密码有#字符、空格时,就要加上引号
#
#billing服务器的ip,默认127.0.0.1即可
ip: 127.0.0.1
#
#billing服务器监听的端口(自定义一个未被占用的端口即可)
#本验证网关监听端口,要与/home/tlbb/Server/Config/ServierInfo.ini内的Billing端口一至
port: 12680
#
#MySQL服务器的ip或者主机名
db_host: localhost
#
#MySQL服务器端口
db_port: 3306
#
#MySQL用户名
db_user: root
#
#MySQL密码
db_password: 'root'
#
#账号数据库名(一般为web)
db_name: web
#
#只有在老版本MySQL报old_password错误时,才需要设置为true
allow_old_password: false
#
#用户登录的账号不存在时,是否引导用户进行注册
auto_reg: true
#
#允许的服务端连接ip,为空时表示允许任何ip,不为空时只允许指定的ip连接,
#allow_ips:
#  - 1.1.1.1
#  - 127.0.0.1
#
#登录的玩家总数量限制,如果为0则表示无上限
max_client_count: 500
#
#每台电脑最多可以同时登录的用户数量限制,如果为0则表示无上限
pc_max_client_count: 3

config.json:说明同上

{
  "ip": "127.0.0.1",
  "port": 12680,
  "db_host": "localhost",
  "db_port": 3306,
  "db_user": "root",
  "db_password": "root",
  "db_name": "web",
  "allow_old_password": false,
  "auto_reg": true,
  "allow_ips": [],
  "max_client_count": 500,
  "pc_max_client_count": 3
}

启动

Linux下启动billing方法(前台模式)

#进入billing所在文件夹,比如/home
cd /home
#添加执行权限
chmod +x ./billing
#启动billing
./billing

Linux以守护进程后台运行billing的方法(daemon模式)

#进入billing所在文件夹,比如/home/billing
cd /home/billing
#添加执行权限
chmod +x ./billing
#启动billing
./billing up -d

Windows下,直接双击billing.exe即可

停止

停止billing命令

# 使用stop命令
./billing stop

# 也可以使用kill命令
kill -SIGTERM $(pgrep -f billing)

如果是前台模式,可以使用Ctrl + C 组合键停止服务器

4、配置服务端

天龙配置只需配置3个文件,即可运行:

/home/tlbb/Server/Config/下的:

ServerInfo.ini、LoginInfo.ini、ShareMemInfo

ServerInfo.ini

[System]
Desc0=功能:配置服务器端程序的相关情况;
Desc1=IP0、Port0指外网的地址和端口;
Desc2=IP1、Port1指内网的地址和端口;
Desc3=Type:Game=0;Login=1;

CurrentServerID=0
ServerNumber=2

EnableEffAudit=0
EffAuditSaveResultInterval=0
EffAuditReportInterval=0

EnableEffAuditSceneID_1ST=0
EnableEffAuditSceneID_2ND=0
EnableEffAuditSceneID_3RD=0
EnableEffAuditSceneID_3RD=0

[Mother]
IP=0.0.0.0
Port=0

[World]
IP=192.168.1.7
Port=777

[Billing]
Number=1
IP0=127.0.0.1	#验证网关地址,这里是本机
Port0=12680		#验证网关的监听端口
IP1=0.0.0.0
Port1=10101
IP2=0.0.0.0
Port2=10101
IP3=0.0.0.0
Port3=10101
IP4=0.0.0.0
Port4=10101

[Proxy]
Proxy0ForCncUser= 0.0.0.0
;Proxy1ForCncUser=0.0.0.0
Proxy0ForCtcUser=0.0.0.0
;Proxy1ForCtcUser=0.0.0.0
Proxy0ForEduUser= 0.0.0.0
;Proxy1ForEduUser=0.0.0.0

[Server0]
ServerID=0
MachineID=0
IP0=192.168.1.7
Port0=3731		#游戏端口
IP1=192.168.1.7
Port1=8880
Type=0
IP(CNC)= 0.0.0.0
Port(CNC)=1000
IP(CTC)=0.0.0.0
Port(CTC)=0
IP(EDU)= 0.0.0.0
Port(EDU)=1000
HumanSMKey=1001
PlayShopSMKey=4001
ItemSerialKey=7001
CommisionShopKey=6001
EnableShareMem=1

[Server1]
ServerID=2
MachineID=0
IP0=192.168.1.7
port0=7384		#登陆端口
IP1=192.168.1.7
Port1=8882
Type=1
IP(CNC)= 0.0.0.0
Port(CNC)=1000
IP(CTC)=0.0.0.0
Port(CTC)=0
IP(EDU)= 0.0.0.0
Port(EDU)=1000
HumanSMKey=1003
PlayShopSMKey=4003
ItemSerialKey=7003
CommisionShopKey=6003
EnableShareMem=0

LoginInfo.ini

[System]
LoginID=2
DBIP=127.0.0.1
DBPort=3306
DBName=tlbbdb
DBUser=root
DBPassword=passwd
ClientVersion=1005
DBConnectCount=10
TurnPlayerCount=100
CryptPwd=0
ProxyConnect=0

EnableLicense=0
ReLoginLimit=0
ReLoginStop=0
ReLoginStopTime=60000
NotifySafeSign = 0

ShareMemInfo.ini

[System]
DBIP=127.0.0.1		;数据库ip
DBPort=3306		;数据库端口
DBName=tlbbdb		;数据库名称
DBUser=root		;用户名
DBPassword=passwd	;密码
SMUInterval=1200000		;world数据存盘时间(毫秒)
DATAInterval=900000		;Human数据存盘时间(毫秒)
CryptPwd=0		;密码是否加密

[ShareMem]
KeyCount=11
Key0=1001
Type0=1     ;HumanSMU
Key1=2001
Type1=2     ;GuildSMU
Key2=3001
Type2=3     ;MailSMU
Key3=4001
Type3=4     ;PlayerShopSM
Key4=5001
Type4=5     ;GlobalDataSMU
Key5=6001
Type5=6     ;CommisionShopSMU
Key6=7001
Type6=7     ;ItemSerialKeySMU
Key7=8001
Type7=8     ;PetProcreateItemSM
Key8=9001
Type8=9     ;CitySMU
Key9=10001
Type9=10    ;GuildLeagueSMU
Key10=11001
Type10=11   ;FindFriendADSMU

四、客户端、登陆器配置

五、换端操作

实际上的操作很简单,将服务端上传到服务器/home/目录,解压,确保/home/tlbb 这样的目录结构,再配置上面的3个文件,中的地址、端口、数据库即可

当然换端建议备份原来的数据库,将新端的数据库导入,新端没数据库的,就导入开区的空白库。


转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 vault@coolxy.cn

×

喜欢就点赞,疼爱就打赏

github