Install Guide: Make a Linux decicated server for CS 1.6 Non-Steam

Status
Không mở trả lời sau này.

Satthutraidudu

Mr & Ms Pac-Man
Tham gia ngày
11/7/04
Bài viết
172
Reaction score
0
Install Guide

Giới thiệu

Nếu bạn đang sở hữu một website hoặc có một host trên mạng dung lượng khác lớn, tại sao bạn lại không tạo một server game cho các member của mình thậm chí mọi người trên internet vào chơi và giao lưu với nhau. Bài viết dưới đây phục vụ cho mục đính đó và cũng là một cơ hội cho những bạn yêu thích Linux có thể thực hành command shell luôn :D

Yêu cầu:



1/ Một server linux mà bạn có thể telnet hoặc thực thi ssh, hoặc nếu không thỉ sử dụng chính máy bạn để làm server(máy bạn phải cài một Linux distro nào đó: Fedora hoặc Mandrake,...)

2/ Máy linux server phải có kết nối internet.

3/ Một thư mục $home mà bạn có thể ghi tập tin lên (server thuê trên mạng)

4/ Ít nhất 600 MB dung lượng đĩa cứng

5/ Hỗ trợ wget và ftp.

6/ Hỗ trợ trình giải nến gzip



Hướng dẫn setup server:

Hãy vào server của bạn bằng ssh hoặc telnet.

Tạo một thư mục cho server game của bạn.



mkdir hlds_l



Chuyển đến thư mục game vừa tạo



cd hlds_l



Bây giờ bạn cần download file "steam"(file chính để install) từ server của Steam. Ở đây tôi hướng dẫn cách lấy file steam bằng lệnh wget, nếu server linux của bạn không hỗ trợ wget, bạn hãy download trực tiếp file steam ở link dưới đây(phần dedicated server for LINUX):

http://www.steampowered.com/index.php?area=getsteamnow



Hoặc download trực tiếp bằng trình FTP client của bạn:



Server: ftp.valvesoftware.com
User:
hlserver
Pass: hlserver
Remote dir: /Linux
File: hldsupdatetool.bin




Rồi upload trực tiếp lên thư mục game của bạn đã tạo lúc này bằng trình FTP client nào đó chẳng hạn Total Commander, CuteFTP, LeapFTP,….
---


Nếu server của bạn có hỗ trợ wget thì lấy file đó bằng lệnh trực tiếp sau đây:



wget ftp://hlserver:[email protected]/Linux/hldsupdatetool.bin



Nên nhớ là lúc này bạn đang ở thư mục hlds_l






Bây giờ bạn đã có file hldsupdatetool.bin trong thư mục hlds_l.

Bạn hãy chmod +x và run nó:



chmod +x hldsupdatetool.bin
./hldsupdatetool.bin




Sau khi chạy xong bạn sẽ có file steam trong thư mục hlds_l



Tiếp tục chmod +x cho file steam



chmod +x steam




Bây giờ bạn đã sẵn sàng để tạo một steam account và bắt đầu download files cho server game của bạn:

Câu lệnh để tạo một account steam như sau:



./steam -create <username> <password> <question> <answer>

Ví dụ



./steam -create [email protected] 123456789 “What is your pet name?" “Lucky”



Sau khi đánh lệnh trên steam sẽ tự động download những file cần thiết mới nhất cho server của bạn:



Getting version X of Steam Linux Client
Downloading. . . . . . . . . . .
Linux Client updated, please retry the command




Nếu bạn làm đúng sẽ hiện ra câu thông báo sau:

Account Created successfully



Bây giờ bạn phải update steam server:

Câu lệnh chuẩn như sau:

./steam -update <game> <installdir> <username> [<password> [Y]]



Ví dụ



./steam -update cstrike /home/hlds_l [email protected] 123456789 Y



Câu lệnh ở đây chỉ đúng khi bạn có quyền access vào thư mục /home của server linux.

Còn nếu host thuê trên mạng thư mục home của bạn sẽ là ~/ thì câu lệnh trên sẽ là:



./steam -update cstrike ~/hlds_l [email protected] 123456789 Y



Bạn sẽ thấy dòng chữ sau



No installation record found at /home/csserver/hlds_l



Và steam sẽ tự động download những file cần thiết vào thư mục game bạn tạo lúc nãy (hlds_l)





Sau khi download xong hết, bạn đã có thể start 1 game cho người khác vào chơi:



Bạn thử đánh lệnh sau để start thử 1 game:



./hlds_run -game cstrike +map de_dust –autoupdate



Nếu thấy được những dòng đại lọai như



Auto-restarting the server on crash
Host_Init
Added packfile /usr/local/games/hlds_l/valve/pak0.pak (985 files)
Protocol version 46
Exe version 3.1.1.0
Exe build: 14:46:34 Jun 11 2002 (2056)
WON Auth Server
Server IP address 64.132.156.11:27015
Downloading Security Module from Speakeasy.net ...
Completed downloading Security Module from Speakeasy.net
Server is in Secure Mode.



……

thì server của bạn đã có thể vào chơi được rồi IP và Port như trên là

64.132.156.11:27015



Bạn có thể đánh lệnh exit hoặc Ctrl C để thoát server!






Khi bạn close SSH hay close Telnet thì xem như bạn đã đóng luôn server game đang chạy (trừ khi bạn cứ để Konsol nếu máy server là máy riêng của bạn). Vì vậy bạn phải làm cho server game của bạn chạy ngầm bên dưới.



Đầu tiên bạn đánh lệnh



Screen <enter>



Sau đó Start 1 server:

./hlds_run -game cstrike +exec server.cfg +port 27015 +maxplayers 16 +map de_dust



Giải thích câu lệnh trên:

server.cfg :File chứa các lệnh cấu hình ban đầu của bạn (sẽ nói thêm vào phần sau), bạn có thể tạo một file như admin.cfg để chứa những lệnh bạn luôn muốn khởi tạo lúc bắt đầu chạy 1 server game.

Các tham số còn lại khỏi nói, nhìn là biết tại sao nó vậy.



Sau khi thấy server của bạn chạy rồi, bạn bấm CTRL A rồi D.

Tổ hợp phím này giúp bạn thoát khỏi screen bạn tạo lúc nãy.

Sau khi bấm tổ hợp phím trên, bạn đã có 1 server chạy ngầm bên dưới.



Bây giờ bạn có thể làm lại thao tác tương tự để create thêm 1 server game khác



Screen <enter>

./hlds_run -game cstrike +exec server.cfg +port 27016 +maxplayers 16 +map de_dust2

CTRL A rồi D



(Nhớ đổi port khác)


Screen <enter>
./hlds_run -game cstrike +exec server.cfg +port 27017 +maxplayers 16 +map de_aztec

CTRL A rồi D


Vậy bạn đã có 3 server game chạy ngầm bên dưới hệ thống trên 3 port khác nhau.


Bạn có thể xem các screen bạn tạo và đang chạy ngầm bằng lệnh


Screen –r



Bạn sẽ thấy:

login@server:/var/home/login$screen -r
There are several suitable screens on:
102.pts-9.server (Detached)
103.pts-9.server (Detached)
104.pts-9.server (Detached)
Type "screen [-d] -r [pid.]tty.host" to resume one of them



Đó là thông tin về ba ứng dụng đang chạy ngầm, bạn có thể trở lại từng screen để sửa server, hoặc thoát luôn game server đó bằng lệnh:

Screen –r 102 ( cái đầu tiên chẳng hạn)

Bạn sẽ thấy màn hình trở về màn hình của server thứ 1 lúc nãy:

Bạn muốn tắt luôn server này? Hãy đánh lệnh exit để thóat game và exit lần nữa để tắt cái screen hiện tại.



Chúc thành công!



Mốt số config cần thiết (Có thể áp dụng cho cả Dedicated server for Windows)



· Sau khi tạo server, Những người có CS none steam vẫn không vào được và luôn bị lỗi Class C.

Khắc phục:

- Thêm lệnh sv_lan 1 vào file server.cfg hoặc bạn phải gõ trực tiếp trong console.

- Patch Engine của Steam. Bạn có thể download các engine(for linux) hoặc file swds.dll(for Windows) đã patch từ nhiều nguồn trên mạng hoặc download trình nowon bên dưới về để tự patch.



· Config các file cần thiết cho server:

Các file cần config:



server.cfg,

liblist.gam,

motd.txt,

mapcycle.txt,

autoexec.cfg



Nếu không đọc được tiếng anh :D thì cứ để mặc định nhưng nhớ để dòng sv_lan 1 vào server.cfg nhá, còn không thì tui nghĩ những file đó chỉ là lệnh bình thường của cs thôi, có khi bạn còn rành hơn newbie như tôi.

· Thêm AMX hoặc AMXX và META MOD cho server của bạn. Đây là các plugin giúp cho server của bạn thêm phong phú, chẳng hạn hiện thông báo thông tin về kẻ vửa cho 1 bi vào đầu bạn :D …..



Mọi thông tin đều có ở :

METAMOD : http://www.metamod.org

AMX : http://www.amxmod.net

AMXMODX : http://www.amxmodx.org



Bạn download về và chép vào thư mục cần thiết và đổi dòng lệnh

"game_dll mm.dll"

bằng dòng

gamedll "addons\metamod\dlls\metamod.dll"

trong file liblist.gam


(Những thông tin này đều có nói trong document của các mod mà bạn download)

· Một số lỗi báo không tìm thầy file .gfx : bạn hãy tìm nó ở đâu đó( trên mạng, trong thư mục khác của server, trong thư mục game cs none steam ở nhà của bạn, …) và chép nó vào thư mục hlds_l/cstrike, hlds_l/valve, hlds_l/cstrike/valve

· Nếu server của bạn nằm sau 1 router( trường hợp server của 1stvn và server của tui hoặc của bất cứ ai xài DSL ở VN, phải dùng router của ISP, thì bạn phải forward port trong router của bạn)

Bạn vào chỗ nào có NAT config và forward port mà bạn dùng làm server game vào IP LAN của máy bạn

· Làm sao để biết IP của máy bạn để người khác có thể vào?

Có nhìu cách

- Một là bạn vào trang DYNDNS.org để đăng kí một domain động, chỉ cần đăng kí và rất đơn giản để có một domain động.

Chẳng hạn như tui đã đăng kí cái th01.game-host.org:27017
1st vn đã đăng kí cái 1stvn.game-host.org:27016

- Ngòai ra có thể vào gametiger.com để tìm ip WAN của server của bạn bằng cách tạo một game với 1 màn ít người dùng và search server với map nó chịu khó refress 2 3 phút sẽ thấy server của bạn

- Ping cái DYNAMIC DNS mà bạn đăng kí sẽ ra IP.

- Vào router phần IP WAN để xem IP.

Hết.
 

Attachments

Uhm trước khi ai định lấy host linux của mình (thuê, mua chùa, .... he eh) thì nên:
Vào cmd của windows và ping thử cái host của mình trước, thấy latency thấp thấp thì hãy làm còn không thì làm xong chỉ cho bọn nước ngoài nó vào là lẹ thôi còn dân VN thì bó chi :D . Tui đã làm một cái server trên host của tui nhưng ping khoảng 350 nên ngậm ngùi xóa luôn.
Bài này chỉ để tham khảo thôi, nếu ai có hứng thì làm. Vài ngày nữa nếu vẫn không có ai post bài về làm server trên Win thì tui sẽ post.
Ai chịu khó đọc tiếng Anh có thể download steam server for win về mà tự làm(phần Install tương tự LINUX)
Download hlds for win:
http://www.steampowered.com/index.php?area=getsteamnow
 
Status
Không mở trả lời sau này.
Back
Top