Server game chính thức của Steam cho Counter-Strike: Global Offensive đủ tốt cho hầu hết mục đích. Tuy nhiên, bạn không kiểm soát chúng. Nếu tự tạo server, bạn sẽ:
- Đặt luật riêng: thời gian trận, thời gian đóng băng, tối đa người chơi, friendly fire, v.v. Nhưng chú ý đừng phá luật quan trọng, đặc biệt những cái này.
- Trận đấu riêng với bạn bè.
- Tổ chức giải đấu/cúp.
- Chơi trên bản đồ tùy chỉnh.
Tại sao tạo game server trên Linux?
Một số bạn nghĩ: "Không dễ hơn trên Windows, thậm chí máy mình?" Trước hết, nếu host game trên máy nhà, thường chỉ đủ cho game mạng cục bộ. Đa số nhà cung cấp Internet cung cấp tải xuống tốt nhưng không tốt cho tải lên. Server laggy, giật, trải nghiệm không ổn định. Thuê server từ nhà cung cấp cloud uy tín tốt hơn cho game mượt.
Mặc dù hầu hết dịch vụ cloud cho host Windows làm OS, không lý tưởng. Windows tốn nhiều RAM bạn có thể dùng host game. Dẫn đến chi phí tăng. Bạn cũng trả phí license theo giờ, tăng chi phí hơn. Cuối cùng, bước cấu hình game server (daemon srcds) cơ bản giống nhau trên Windows và Linux. Nghĩa là không dễ hơn trên Windows.
Ví dụ hệ thống Debian chỉ dùng 56.7MB RAM.
Yêu cầu game server
Server CS:GO không yêu cầu cao, VPS ổn (không cần dedicated). Yêu cầu tối thiểu:
- 2GB RAM.
- Hai nhân ảo/CPU. Instance "tính toán mạnh" (Intensive compute) có thể phản hồi hơn. Thử compute bình thường trước, nâng cấp nếu thấy lag server.
- Ít nhất 40GB dung lượng.
- Debian làm hệ điều hành. Bạn có thể dùng distro khác nếu thực sự muốn, nhưng Debian cho trải nghiệm không đau đầu. Hướng dẫn này dành riêng Debian.
- Nếu nhà cung cấp VPS cho cấu hình firewall qua panel web, tắt nó cho instance này.
- Cấu hình instance dùng xác thực SSH dựa trên khóa (key-based) ưu tiên. Nếu dùng mật khẩu, dùng mật khẩu rất tốt! Hầu như server bị hack do mật khẩu yếu. Xác thực SSH key ngăn chặn điều này.
- Nếu chưa có tài khoản Steam, tạo tại đây.
Bạn có thể thuê VPS giá tốt, tin cậy tại Linode hoặc DigitalOcean.
Nâng cấp và reboot instance
Sau khi thiết lập instance, đăng nhập root qua SSH. Nếu nhà cung cấp chỉ cho đăng nhập user thường với sudo, nhập sau khi đăng nhập.
sudo -i #CHỈ NHẬP NẾU BẠN CHƯA LÀ ROOT!
Đảm bảo mọi gói cập nhật.
apt update && apt upgrade
Reboot nếu phần mềm quan trọng phải tải lại (kernel, systemd init, v.v.).
systemctl reboot
Đăng nhập lại root (hoặc user thường, thành root với sudo -i nếu cần).
Cài đặt steamcmd
Kích hoạt hỗ trợ 32-bit.
dpkg --add-architecture i386
Cài gói sau:
apt install software-properties-common
Kích hoạt cài gói nguồn đóng, non-free.
add-apt-repository contrib add-apt-repository non-free
Làm mới thông tin trình quản lý gói.
apt update
Cài steamcmd.
apt install steamcmd
Nhấn TAB chọn "OK" ở prompt đầu, sau chọn "I AGREE" ở prompt license, nếu không cài sẽ hủy.
Cài byobu, dùng để giữ tiến trình server CS:GO chạy sau khi thoát phiên SSH.
apt install byobu
Cài đặt CS:GO Dedicated Server
Chạy dưới tài khoản root là ý tưởng tồi, nên tạo user thường trước, chạy daemon dedicated server.
adduser --gecos "" --disabled-login cstrike
Đăng nhập user này.
su - cstrike
Yêu cầu steamcmd cài file cần thiết trong thư mục "CSGO".
steamcmd +force_install_dir ~/CSGO/ +login anonymous +app_update 740 validate +quit
Sẽ mất một lúc vì file game tải >20GB. Nếu bị gián đoạn, chạy lại lệnh (sau khi đăng nhập root rồi đăng nhập user "cstrike" với su - cstrike). Nó tiếp tục từ chỗ dừng.
Đăng ký GSLT
Trong khi tải, bạn có thể đăng ký Game Server Login Token bắt buộc. Vào trang quản lý tài khoản game server Steam. Cuộn đến nội dung sau.
Dùng "730" làm App ID. Memo, gõ gì tùy ý. Một mã sẽ sinh ra, cần cho lệnh sau. Xem ví dụ Login Token hình sau.
Khởi chạy CS:GO Dedicated Server
Kích hoạt byobu tự chạy khi user "cstrike" đăng nhập.
byobu-enable
Bắt đầu phiên byobu.
byobu
Lưu ý bug: trên SSH client Windows, chuỗi "1;0c" có thể xuất hiện trên dòng lệnh. Xóa chuỗi nếu xảy ra trước khi tiếp tục.
Khởi động daemon server Counter-Strike: Global Offensive. Lệnh sau là ví dụ: bạn phải thay GSLT ở cuối trong +sv_setsteamaccount B382BB13C7AAAFDE8272247F87586106. Xóa chuỗi bắt đầu "B382", thêm token game login bạn tạo bước trước.
~/CSGO/srcds_run -game csgo -net_port_try 1 +game_type 0 +game_mode 0 +mapgroup mg_active +map de_dust2 +sv_setsteamaccount B382BB13C7AAAFDE8272247F87586106
-net_port_try 1 và +sv_setsteamaccount đều là tham số bắt buộc. Tham số còn lại bạn đổi theo nhu cầu. Để info cách chạy chế độ game khác như Deathmatch hay Arms Race, xem trang wiki này.
Nhấn F6 tách khỏi phiên byobu và để server chạy. Hoặc nhấn Ctrl + C tắt server.
Khi kết nối lại sau như root, để khôi phục phiên byobu, đăng nhập lại user "cstrike".
su - cstrike
Nếu phiên không mở tự động, gõ:
byobu
Khởi động game và kết nối server
Sau khi server khởi động thành công, bạn thấy thông báo như sau trong terminal:
Connection to Steam servers successful. Public IP is 203.0.113.8
Sao chép địa chỉ IP.
Khởi chạy Counter-Strike: Global Offensive trên máy.
Góc trên trái, nhấp danh sách thả xuống ghi "OFFICIAL MATCHMAKING".
Chọn "Community Server Browser". Nhấp tab "Favorites", rồi góc dưới phải nhấp "Add a Server".
Dán public IP của VPS. Nhấp "Refresh" nếu server game không hiện. Double click entry để tham gia.
Kết luận
Chúc mừng tạo server game CS:GO. Bạn phải cấu hình game theo sở thích bạn và bạn bè. Trang wiki liên kết trước có thể bắt đầu tốt để học tùy chọn dòng lệnh daemon srcds và cấu hình "autoexec.cfg" và "server.cfg" điều chỉnh cài đặt game. Chúc vui!