Try   HackMD

Node này dùng để ghi lại các cài đặt và chạy một máy chủ TLBB trên máy ảo Centos 7 cài đặt trên Windows dùng VMWare. Nếu các bạn cần cài trên một VPS (máy ảo online) thì vẫn có thể sử dụng tài liệu này để tham khảo.

Chuẩn bị một số file và phần mềm

Dưới đây là danh sách một số file và phần mềm cần để chạy một máy chủ TLBB. Có thể dùng các phần mềm tương tự khác, nhưng dưới đây là những gì mình đã dùng

Cài đặt Centos 7 trên VMWare

Việc cài đặt này bạn có thể tham khảo tại link dưới đây, rất chi tiết và đầy đủ.
https://blog.kdata.vn/huong-dan-cai-dat-centos7-tren-vmware-day-du-nhat-6339/
Lưu ý: Chọn dung lượng RAM của máy ảo trên 2GB nha (khuyến nghị là 4GB). Processor nên chọn 2.

Cài đặt IP tĩnh

Máy ảo theo cách cài đặt này sẽ không có IP cố định, gây khó cho việc config server sau này. Nên chúng ta cần cài đặt IP tĩnh cho máy ảo.
Sau khi cài đặt xong và khởi chạy máy chủ Centos 7 chạy lệnh sau

cd /etc/sysconfig/network-scripts/

Sau đó dùng lệnh ls để liệt kê danh sách file trong thư mục để xem tên của network là gì. Ví dụ ở đây sẽ là ifcfg-ens32, chúng ta chạy lệnh bên dưới để edit file config này

vi ifcfg-ens32

Nhấn I để edit file. Tìm và đổi giá trị của 2 dòng như bên dưới

BOOTPROTO=static
ONBOOT=yes

Sau đó thêm vào cuối file các dòng sau. Trong đó 192.168.1.61 sẽ là IP tĩnh của máy ảo

IPADDR=192.168.1.61
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=8.8.8.8
DNS2=8.8.4.4
PREFIX=24
IPV6_PRIVACY=no

Sau khi thay đổi file nhấn ESC và nhập :wq rồi Enter là file đã được lưu thành công. Chạy lệnh bên dưới để apply config mới cho network

systemctl restart network

Bạn có thể chạy lệnh ip address để kiểm tra xem config đã được thay đổi hay chưa. Nếu chưa thì start lại máy ảo luôn nhé!

Cài đặt Server TLBB

Sau khi cài đặt được máy ảo Centos và config IP tĩnh thành công thì chúng ta đã có thể đi vào bước tiếp theo.

Copy source tlbb vào máy ảo

Chúng ta sẽ sử dụng WinSCP để connect vào máy ảo và tiến hành transfer file tlbb.tar.gz vào thư mục /home. Các bạn có thể xem cách sử dụng WinSCP ở link này https://azdigi.com/blog/cong-cu/huong-dan-su-dung-winscp-ket-noi-vao-server-vps

Cài đặt môi trường

Sử dụng MobaXterm để connect SSH đến máy ảo mới cài đặt. (Hướng dẫn sử dụng)

Chạy lệnh bên dưới và đổi giá trị từ "enforcing" sang "disable" và lưu lại (Tương tự như chỉnh file network config).

vi /etc/selinux/config

Sau đó chạy toàn bộ dòng lệnh bên dưới. Lưu ý rằng mình đang để mật khẩu database là Test@123 các bạn có thể đổi nó thành mật khẩu khác nếu muốn.

cd /home
yum install glibc.i686 -y
yum install libstdc++.i686 -y
wget http://mirror.centos.org/centos/7/os/x86_64/Packages/unixODBC-2.3.1-14.el7.i686.rpm
wget https://raw.githubusercontent.com/lehuuthanh5/stuff/main/mysql-connector-odbc-5.3.6-1.el7.i686.rpm
yum install unixODBC-2.3.1-14.el7.i686.rpm -y
yum install mysql-connector-odbc-5.3.6-1.el7.i686.rpm -y
ln -s /usr/lib/libmyodbc5w.so /usr/lib/libmyodbc5.so
ln -s /usr/lib/libodbc.so.2.0.0 /usr/lib/libodbc.so.1
yum install mariadb-server -y
systemctl start mariadb
systemctl enable mariadb
systemctl status mariadb
systemctl stop firewalld
systemctl disable firewalld
systemctl mask --now firewalld
mysql_secure_installation <<EOF

y
Test@123
Test@123
y
y
y
y
EOF
wget https://raw.githubusercontent.com/lehuuthanh5/stuff/main/tlbbdb_schema.sql
wget https://raw.githubusercontent.com/lehuuthanh5/stuff/main/web.sql
wget https://raw.githubusercontent.com/lehuuthanh5/stuff/main/createTlbbUser.sql
mysql -u root -pTest@123 < createTlbbUser.sql
mysql -u root -pTest@123 < tlbbdb.sql
mysql -u root -pTest@123 < web.sql
tar xzvf tlbb.tar.gz
cd /home/tlbb/Server
chmod +x ./ShareMemory
chmod +x ./smtool
chmod +x ./World
chmod +x ./Server
chmod +x ./Login
chmod +x ./shm
./shm start
./shm stop
echo '[tlbbdb]' >> /etc/odbc.ini
echo 'Description = ServerTLBB Database' >> /etc/odbc.ini
echo 'Driver = /usr/lib/libmyodbc5.so' >> /etc/odbc.ini
echo 'Server = 192.168.1.61' >> /etc/odbc.ini
echo 'Database = tlbbdb' >> /etc/odbc.ini
echo 'Port = 3306' >> /etc/odbc.ini
echo 'Option = 3' >> /etc/odbc.ini
echo 'User = tlbb' >> /etc/odbc.ini
echo 'Password = Test@123' >> /etc/odbc.ini
echo 'Socket = /var/lib/mysql/mysql.sock' >> /etc/odbc.ini

Chạy Billing

Với source TLBB chúng ta có hai dạng Billing chính là Billing chạy trên Linux và chạy trên Windows. Các bạn có thể lựa chọn và chạy Billing mà bạn muốn. Mình đang dùng Billing Windows nên khi chạy online ngoài một VPS chạy Centos cho TLBB Server ra thì mình còn có một con VPS Windows nữa dành cho việc chạy Billing cũng như một số việc khác.

Các Billing đều có config dạng như sau:

本机IP=192.168.1.17 => IP máy chạy billing
服务端口=12680 => Port của billing
数据库IP=192.168.1.61 => IP máy ảo centos
数据库端口=3306
数据库用户名=tlbb => username của DB
数据库密码=Test@123 => pass của DB
数据库名=web => Tên Schema

Các bạn giải nén thư mục Billing trong đó sẽ có file dạng BillServer.ini hoặc config.ini hay tương tự. Hãy mở ra và chỉnh config cho đúng nha. Chỉnh xong thì các bạn có thể Run Billing rồi.

Chỉnh sửa file cấu hình

Trước khi chạy được TLBB Server thì chúng ta cần sửa config trong 3 file sau:

  • ServerInfo.ini
  • ShareMemInfo.ini
  • LoginInfo.ini

Với ShareMemInfo.iniLoginInfo.ini, hai file này có cấu trúc tương tự nhau nên sẽ sửa y chang nhau thôi. Tham khảo bên dưới:

DBIP=192.168.1.61 => IP máy ảo centos
DBPort=3306
DBName=tlbbdb => tên database tlbb
DBUser=tlbb => username của DB
DBPassword=Test@123 => pass của DB

Với file ServerInfo.ini thì chúng ta cần chỉnh sửa nhiều hơn

[World]
IP=192.168.1.61 => IP máy ảo centos
Port=777

[Billing]
Number=1
IP0=192.168.1.17 => IP máy chạy billing. lưu ý: nếu chạy billing trên máy ảo linux thì điền IP máy ảo centos vào đây, còn chạy trên máy thật thì điền ip máy thật vào đây
Port0=12680 => Port (có thể thay đổi nhưng phải trùng với port trong billing)

[Server0]
ServerID=0
MachineID=0
IP0=192.168.1.61 => IP máy ảo centos
Port0=3731
IP1=192.168.1.61 => IP máy ảo centos

[Server1]
ServerID=2
MachineID=0
IP0=192.168.1.61 => IP máy ảo centos
Port0=3311
IP1=192.168.1.61 => IP máy ảo centos

Chạy Server TLBB và vào game

Sau khi chỉnh sửa config xong thì các bạn dùng MobaXterm mở 4 tab SSH vào con máy ảo Centos 192.168.1.61. Với mỗi tab các bạn run những câu lệnh tương ứng sau để chạy server:

Tab 1:

cd /home/tlbb/Server
./shm start

Tab 2:

cd /home/tlbb/Server
./World

Tab 3:

cd /home/tlbb/Server
./Login

Tab 4:

cd /home/tlbb/Server
./Server

Sau khi chạy xong những câu lệnh này và đợi tầm 2 phút thì server của các bạn đã được start thành công.

Tip: MobaXterm hay những phần mềm tương tự thường có tính năng Macro Record dùng để lưu lại những bước chạy command như trên, hãy tận dụng để tiết kiệm thời gian sau này nhé!

Khi Server đã được start thì các bạn giải nén Client. Sau đó, tìm file Patch/pathinfo.txt và đổi tất cả IP và Port sang IP của máy ảo Centos và Port tương ứng đã config trong file ServerInfo.ini. Bây giờ các bạn có thể vào game rồi đó. Trong script database thì mình đang để một account mặc định là test có mật khẩu 1234qwer, bạn có thể sử dụng nếu muốn.

Tổng kết

Và đó là toàn bộ những gì mình làm để chạy một Server TLBB. Các bạn có thể dùng hướng dẫn này để chạy một server offline để chơi cho vui hay nghiên cứu về TLBB. Những bước bày cũng có thể dùng để chạy một server TLBB online trên VPS nhưng sẽ tiềm ẩn nhiều nguy cơ phá hoại. Hi vọng những chia sẻ này sẽ có ích cho các bạn.

Xin cảm ơn!