Cách tạo CS:GO Server trên Linux VPS

Các game server chính thức của Steam cho Counter-Strike: Global Offensive phù hợp với hầu hết các mục đích. Tuy nhiên, bạn không thể kiểm soát chúng. Nếu tạo máy chủ của riêng mình, bạn sẽ có thể:

  • Đặt quy tắc của riêng bạn, chẳng hạn như thời gian trận đấu, thời gian đóng băng, người chơi tối đa, v.v... Nhưng hãy chắc chắn rằng bạn không phá vỡ các quy tắc quan trọng.
  • Có những trận đấu riêng với bạn bè.
  • Tổ chức các cuộc thi/giải đấu.
  • Chơi trên bản đồ tùy chỉnh.

Tại sao lại tạo game server trên Linux?

Một số bạn có thể nghĩ rằng, tạo game server trên máy tính Windows có phải đơn giản hơn không? Trước tiên, nếu bạn host một game trên máy tính ở nhà của mình, thì điều đó thường chỉ đủ dùng cho các game trên mạng cục bộ. Hầu hết các nhà cung cấp dịch vụ Internet đều đưa ra chất lượng tải xuống ở mức độ khá nhưng không tốt lắm cho việc upload. Máy chủ bị lag, giật và cung cấp trải nghiệm chơi game không nhất quán. Tốt hơn hết là thuê máy chủ từ một nhà cung cấp điện toán đám mây có uy tín nếu bạn muốn chơi game một cách mượt mà.

Mặc dù hầu hết các dịch vụ đám mây cho phép bạn host Windows dưới dạng hệ điều hành, nhưng điều này cũng không lý tưởng cho lắm. Windows tiêu tốn rất nhiều RAM mà bạn có thể đang sử dụng để host game của mình thay thế. Điều này dẫn đến việc tăng chi phí. Bạn cũng phải trả tiền cho một giấy phép mỗi giờ, làm chi phí tăng hơn nữa. Điều cuối cùng nhưng không kém phần quan trọng, các bước để cấu hình game server (srcds daemon) cũng khá giống nhau trên cả Windows và Linux. Điều này có nghĩa là việc thực hiện điều này trên hệ điều hành của Microsoft không dễ dàng hơn trên Linux.

Dưới đây, một ví dụ về hệ thống Debian chỉ sử dụng 56,7MB RAM.

Hệ thống Debian chỉ sử dụng 56,7MB RAM

Những yêu cầu về game server

Các game server CS:GO không đòi hỏi nhiều thứ lắm, vì vậy các máy chủ riêng ảo sẽ hoạt động tốt (không cần đến máy chủ chuyên dụng). Các yêu cầu tối thiểu bao gồm:

  • RAM 2GB.
  • Hai lõi ảo/CPU. Các Intensive compute (máy tính chuyên về xử lý) có thể phản hồi nhanh hơn. Hãy thử máy tính bình thường trước, sau đó nâng cấp lên máy tính chuyên về xử lý, nếu thấy máy chủ bị lag.
  • Ít nhất 40GB dung lượng lưu trữ.
  • Sử dụng hệ điều hành Debian. Bạn cũng có thể sử dụng các bản phân phối khác, nếu bạn thực sự muốn, nhưng Debian sẽ mang đến cho bạn trải nghiệm dễ dàng nhất. Các hướng dẫn trong bài viết này là dành riêng cho Debian.
  • Nếu nhà cung cấp VPS của bạn cho phép bạn cấu hình tường lửa thông qua bảng điều khiển giao diện web, hãy vô hiệu hóa nó trong trường hợp này.
  • Cấu hình máy chủ của bạn để sử dụng xác thực dựa trên SSH key tốt nhất. Nếu bạn có ý định sử dụng mật khẩu, hãy sử dụng một mật khẩu mạnh! Hầu hết các máy chủ thời gian (time server) đều bị tấn công do sử dụng mật khẩu yếu hoặc rất yếu. Xác thực dựa trên SSH key sẽ ngăn chặn điều này.
  • Nếu bạn không có tài khoản Steam, hãy tạo tài khoản Steam trước đã. 

Bạn có thể nhận được VPS giá cả phải chăng và đáng tin cậy tại Linode.com hoặc DigitalOcean.com. 

Nâng cấp và khởi động lại game server

Khi bạn đã thiết lập xong game server của mình, hãy đăng nhập với vai trò root thông qua SSH. Nếu nhà cung cấp của bạn chỉ cho phép bạn đăng nhập như một người dùng thông thường với các đặc quyền sudo, hãy nhập thông tin này sau khi bạn đăng nhập.

sudo -i #ONLY ENTER THIS IF YOU ARE NOT ALREADY ROOT!

Hãy chắc chắn rằng tất cả các gói đều được cập nhật.

apt update && apt upgrade

Khởi động lại trong trường hợp phần mềm quan trọng phải được load lại (kernel, tiến trình khởi động systemd, v.v...).

systemctl reboot

Đăng nhập lại với quyền root (hoặc là người dùng thông thường và trở thành root bằng sudo -i nếu cần thiết).

Cài đặt steamcmd

Kích hoạt hỗ trợ 32 bit:

dpkg --add-architecture i386

Cài đặt gói sau:

apt install software-properties-common

Cho phép cài đặt các gói phần mềm nguồn đóng, không miễn phí.

add-apt-repository contrib
 add-apt-repository non-free

Refresh thông tin trình quản lý gói:

apt update

Cài đặt steamcmd:

apt install steamcmd

Cài đặt Steamcmd

Nhấn TAB để chọn “OK” trong lời nhắc đầu tiên, sau đó chọn “I AGREE” trong lời nhắc tiếp theo với thỏa thuận cấp phép, nếu không cài đặt sẽ hủy bỏ.

Cài đặt byobu, mà bạn sẽ sử dụng để duy trì quá trình máy chủ CS:GO hoạt động ngay cả sau khi bạn thoát phiên SSH.

apt install byobu

Cài đặt máy chủ chuyên dụng CS:GO

Chạy máy chủ chuyên dụng CS:GO trong tài khoản root là một ý tưởng tồi, vì vậy hãy tạo một tài khoản người dùng thông thường trước, để chạy daemon máy chủ chuyên dụng.

adduser --gecos "" --disabled-login cstrike

Đăng nhập với tư cách người dùng vừa tạo.

su - cstrike

Hướng dẫn tiện ích steamcmd cài đặt tất cả các file cần thiết trong thư mục “CSGO”.

steamcmd +force_install_dir ~/CSGO/ +login anonymous +app_update 740 validate +quit

Điều này sẽ mất một lúc vì các file game thường rất lớn, khoảng hơn 20GB. Nếu quá trình bị gián đoạn, chỉ cần chạy lại lệnh trên (sau khi bạn đăng nhập lại với quyền root và sau đó đăng nhập với tư cách là người dùng cstrike với su - cstrike).

Đăng ký GSLT

Trong khi quá trình tải xuống đang diễn ra, bạn có thể đăng ký Game Server Login Token. Chuyển đến trang quản lý tài khoản game server của Steam. Cuộn xuống các nội dung sau.

Đăng ký Game Server Login Token

Sử dụng App ID730. Đối với Memo, bạn có thể nhập bất cứ thứ gì bạn muốn. Một code sẽ được tạo để bạn sử dụng với lệnh trong tương lai. Xem ví dụ về Login Token trong hình tiếp theo.

Ví dụ về Login Token

Khởi chạy máy chủ chuyên dụng CS:GO

Cho phép byobu tự động bật khi người dùng “cstrike” đăng nhập:

byobu-enable

Bắt đầu một phiên byobu:

byobu

Thông báo lỗi: Trên SSH client của Windows, chuỗi “1;0c” có thể xuất hiện trên dòng lệnh. Xóa chuỗi nếu điều này xảy ra trước khi bạn tiếp tục.

Bắt đầu tiến trình daemon server Counter-Strike: Global Offensive: Lệnh tiếp theo là một ví dụ: Bạn sẽ phải thay thế GSLT ở cuối trong +sv_setsteamaccount B382BB13C7AAAFDE8272247F87586106. Xóa chuỗi bắt đầu với “B382” và thêm token đăng nhập game mà 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à các tham số lệnh bắt buộc. Các tham số còn lại có thể được thay đổi theo nhu cầu. Để biết thông tin về cách bắt đầu các chế độ game khác nhau, chẳng hạn như Deathmatch hoặc Arms Race, hãy tham khảo trang wiki này:

https://developer.valvesoftware.com/wiki/Counter-Strike:_Global_Offensive_Dedicated_Servers#Starting_the_Server

Nhấn F6 để tách khỏi phiên byobu và để máy chủ chạy. Hoặc, nhấn Ctrl+C để đóng máy chủ.

Khi bạn kết nối lại sau đó với quyền root vào máy chủ của mình, để khôi phục phiên byobu, chỉ cần đăng nhập lại với tư cách là người dùng “cstrike”.

su - cstrike

Nếu phiên không tự động mở, hãy gõ:

byobu

Bắt đầu game và kết nối với máy chủ

Khi máy chủ khởi động, bạn sẽ thấy một thông báo như thế này 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 tính của bạn.

Ở góc trên bên trái, nhấp vào danh sách drop-down có ghi “OFFICIAL MATCHMAKING”.

Nhấp vào danh sách drop-down có ghi “OFFICIAL MATCHMAKING”

Chọn “Community Server Browser”. Nhấp vào tab Favorites, sau đó ở góc dưới bên phải, nhấp vào “Add a Server”.

Nhấp vào Add a server

Dán IP public của VPS. Nhấp vào “Refresh” nếu game server không xuất hiện trong danh sách. Nhấp đúp chuột vào mục đó để kết nối với máy chủ.

Xin chúc mừng! Bạn đã tạo thành công game server CS:GO của mình. Tiếp theo, bạn sẽ phải cấu hình game theo sở thích của bản thân và bạn bè.

Chúc bạn thực hiện thành công!

Thứ Hai, 19/08/2019 17:11
3,73 👨 103