Dataonline sẽ hướng dẫn bạn cài đặt và cấu hình máy chủ game Wolfenstein: Enemy Territory dùng làm máy chủ đấu cho ETPro, kèm theo cấu hình cạnh tranh mới nhất.
Triển khai Ubuntu Server
- Triển khai một instance VPS Ubuntu 20.04 mới từ DataOnline.
- Thực hiện theo các hướng dẫn best practices:
Sau đó, chuyển sang user sudo cho các bước cài đặt tiếp theo.
Cài đặt
Vì Enemy Territory là một tựa game cũ nên cần cài đặt một số phụ thuộc (dependencies) dành cho hệ thống 32-bit:
$ sudo dpkg --add-architecture i386 $ sudo apt-get install -y libc6:i386
Enemy Territory được phân phối dưới dạng file zip, do đó tiện ích unzip
cũng cần được cài đặt
$ sudo apt-get install -y unzip
Cài đặt Enemy Territory
Tạo thư mục cài đặt cho Enemy Territory:
$ mkdir -p ~/et/
Tải gói cài đặt game Enemy Territory từ Splash Damage:
$ mkdir -p /tmp/etsetup $ cd /tmp/etsetup $ wget https://cdn.splashdamage.com/downloads/games/wet/et260b.x86_full.zip $ unzip et260b.x86_full.zip $ ./et260b.x86_keygen_V03.run --noexec --target /tmp/etsetup/extracted $ mv extracted/* ~/et/ $ cd ~/et/ $ mv bin/Linux/x86/etded.x86 . $ rm -rf /tmp/etsetup
Tùy chọn: Xóa các file không cần thiết cho hoạt động của máy chủ game:
$ rm -rf CHANGES Docs/ etkey.run etkey.sh makekey openurl.sh README ET.xpm \ setup.sh setup.data bin/
Cài đặt ETTV
Để các relay của ETTV có thể kết nối với máy chủ của bạn, hãy thay thế binary ETTV từ GamesTV và cấp quyền thực thi:
$ wget https://www.gamestv.org/drop/ettv.x86 $ chmod +x ettv.x86
Cài đặt ETPro
Tải và giải nén ETPro:
$ wget https://www.gamestv.org/drop/etpro-3_2_6.zip $ unzip etpro-3_2_6.zip $ rm -rf unzip etpro-3_2_6.zip
Cấu hình
Tải về cấu hình toàn cục:
$ cd etpro/ $ wget https://www.gamestv.org/drop/globalconfigsv1_3.zip $ unzip globalconfigsv1_3.zip $ rm -rf globalconfigsv1_3.zip $ cd ..
Mở file ~/et/etpro/server.cfg
bằng Nano:
$ nano ~/et/etpro/server.cfg
Sau đó, chèn nội dung dưới đây:
//=========================Server Passwords======================// set g_password "mypassword" // set to password protect the server set sv_privateclients "0" // if set > 0, then this number of client slots will be reserved for connections set sv_privatepassword "" // that have "password" set to the value of "sv_privatePassword" set rconpassword "myrcon" // remote console access password set refereePassword "myreferee" // referee status password set b_shoutcastpassword "myshoutcast" // Shoutcast login //=============================DL, RATE==========================// set sv_maxRate "25000" set sv_dl_maxRate "2048000" set sv_allowDownload "1" set sv_wwwDownload "1" set sv_wwwBaseURL "https://www.gamestv.org/download/repository/et/" set sv_wwwDlDisconnected "0" set sv_wwwFallbackURL "" //=============================MOD, ECT==========================// set sv_hostname "My Server Name" // name of server here set server_motd0 " " // message in right corner of join screen here set server_motd1 " " set server_motd2 " " set server_motd3 " " set server_motd4 " " set server_motd5 " " //==========================MASTER SERVERS==========================// // The master servers are unset, which means your server will not appear on the list // This is to avoid DDoS attacks, delete the next 5 lines if you want your server to reappear on the list set sv_master1 "" set sv_master2 "" set sv_master3 "" set sv_master4 "" set sv_master5 "" //=========================STARTUP======================// map radar wait 300 config global3 wait 150 config global3 //=========================LOG SETTINGS======================// set g_log "etserver.log" set g_logsync 0 set logfile 0 //============================ETTV===========================// set ettv_sv_maxslaves "2" set ettv_password "3ttv" set b_ettv_flags "3" // Maximum number of clients per IP address set ip_max_clients 2
Lưu ý: Hãy điều chỉnh các tùy chọn sau sao cho phù hợp với nhu cầu của bạn:
-
- g_password: Mật khẩu kết nối đến máy chủ game (có thể để trống).
- rconpassword
- refereePassword
- b_shoutcastpassword
- sv_hostname: Tên server hiển thị cho người chơi.
- server_motd0 (và các dòng tiếp theo): Nội dung thông điệp hiển thị trên màn hình khi kết nối.
Bản đồ bổ sung
Để thêm các bản đồ phụ, bạn cần đặt các file bản đồ vào thư mục etmain/. Thực hiện như sau:
$ cd etmain/ $ wget https://www.gamestv.org/download/repository/et/etmain/adlernest.pk3 $ cd ~/et/
Không cần cấu hình thêm gì.
Script khởi động
Để đơn giản hóa việc khởi động máy chủ, bạn có thể gói lệnh khởi động vào một file shell script. Tạo file script tại ~/et/start.sh
bằng Nano:
$ nano ~/et/start.sh
Với nội dung sau:
#!/bin/bash DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )" "${DIR}/ettv.x86" \ +set dedicated 2 \ +set vm_game 0 \ +set net_port 27960 \ +set sv_maxclients 32 \ +set fs_game etpro \ +set sv_punkbuster 0 \ +set fs_basepath "${DIR}" \ +set fs_homepath "${DIR}" \ +exec server.cfg
Đảm bảo script có quyền thực thi:
$ chmod +x ~/et/start.sh
Chạy máy chủ
Để khởi động máy chủ, bạn chỉ cần gọi script vừa tạo:
$ ~/et/start.sh
Lệnh này sẽ chạy máy chủ ở chế độ foreground. Nếu bạn muốn chạy máy chủ trong background trong thời gian dài, hãy khởi chạy script thông qua một tiện ích như screen hoặc tmux.
Có thể chạy nhiều máy chủ Enemy Territory trên cùng một server DataOnline. Để làm được điều này, hãy chỉ định một cổng khác nhau cho mỗi máy chủ game trong file start.sh
.
Kết nối đến máy chủ
Khi máy chủ đã được khởi chạy, bạn có thể kết nối qua client Wolfenstein: Enemy Territory.
Để kết nối, mở game và chạy lệnh sau (trong đó 192.0.2.1
là địa chỉ IP của instance DataOnline của bạn):
/connect 192.0.2.1:27960; password <Your g_password>
Lưu ý:
- Giá trị
27960
có thể thay đổi nếu bạn đã điều chỉnh trong file~/et/start.sh
. - Địa chỉ IP của DataOnline chính là địa chỉ bạn sử dụng để kết nối qua SSH.
- g_password được định nghĩa trong file
~/et/etpro/server.cfg
.