Đây là bài viết tui hướng dẫn trong box AOE vì bên đó cũng hỏi về cách host game trong msn.zone.com. Tui paste lại toàn bộ dành cho các bạn quan tâm, tuy nhiên do không có LAN kiểm chứng nên chắc chắn còn nhiều sai sót, mong các bạn góp ý thêm để chúng ta có thể chơi được các game online trên mạng tốt nhất.
Hiện tượng không host được trên NET có thể chủ yếu là do firewall tích hợp của router trong modem ADSL ở các hàng NET tại Việt Nam (hiện tại là các modem Zoom, Connexant, Zyxels. Một trường hợp khác là các máy sử dụng Proxy server để chia xẻ NET cũng bị block port) gây ra. Theo như tôi đọc trên site
www.battle.net thì muốn host được game Starcraft, các bạn phải mở cổng 6112-> 6119 (TCP/UDP).
Một chút kiến thức về mạng: Khi bạn sau firewall/proxy server/Internet connection Sharing (sử dụng công nghệ NAT) thì đều bị chặn các cổng nhằm bảo đảm an toàn khi lướt NET. Vì vậy, những gói tin "không xuất xứ" sẽ bị chặn tại các cổng vào. Firewall/CS/PS chỉ cho phép các gói tin khi bạn đã initiate tín hiệu với một địa chỉ IP, có nghĩ là bạn đã bắt tay nhận/gửi với địa chỉ đó. Khi bạn host trên NET, một người nào đó muốn vào game của bạn, họ phải initiate connection với bạn. Nhưng tín hiệu đó đã bị chặn ngoài port do được coi là "không xuất xứ" (vì bạn có initiate với nó đâu) --> không host được game. Giải quyết vấn đề này, bạn phải mở các cổng tương ứng mà game sử dụng để có thể host được (AOE, FIFA, AOM, Counter, NFS,...)
Theo như tôi được biết thì game AOE (có lẽ các game nối mạng đều như vậy) cần 2 cổng: 1 cổng trigger để nhận gửi tín hiệu handsshakes, 1 cổng data transfer để nhận gửi các gói dữ liệu của game. Vì vậy tuy game game yêu cầu mở tất cả các cổng từ 6112->6119 để host game nhưng tui nghĩ cũng không cần thiết như vậy, chỉ cần mở 1 cổng là đủ (có lẽ Starcraft chung luôn 2 cổng này làm một, ai có LAN kiểm chứng hộ cái)
Các bước tiến hành:
1. Lấy được IP của máy và Gateway:
Tuỳ từng hệ điều hành mà bạn có thể có được số IP của máy mà bạn chơi theo nhiều cách khác nhau. Ví dụ, với Win98, bạn có thể dùng lệnh winipcfg.exe hoặc command ipconfig.exe (cái này hệ điều hành nào cũng có). Riêng tôi sử dụng WinXP nên thường lấy IP bằng cách kích phải chuột vào "My Network Places" (hình máy tính nối mạng), chọn Properties và kích đúp vào Local Area Connection, bạn sẽ có 2 form sau:
Nói thêm là số IP có thể được thiết lập bằng tay (manual configure) hoặc tự động nhờ DHCP Server (DHCP configure). Nếu thiết lập bằng tay thì vần đề khá đơn giản do số IP của máy không bao giờ thay đổi, còn nếu thiết lập bằng DHCP thì rất có thể ngày hôm sau số IP sẽ bị khác (phụ thuộc vào Leased time, thường là 1 ngày), khi đó bạn phải thiết lập lại từ đầu. Lời khuyên dành cho các bạn là nên chuyển sang số IP bằng tay (cái này phải có quyền Admin trong XP hay 2000, còn Win98 thì vô tư. Nhớ chọn số IP trong dãy cuối to to một chút vì rất có thể bị conflict với máy khác. Tốt nhất nên chọn trên 100, ví dụ 192.168.1.150 <-- số 150 đó)
.
Số IP của tôi là 192.168.1.44 (thiết lập bằng tay)
và của gateway (IP của gateway tích hợp trong modem) là 192.168.1.1. Các bạn nhớ hai số này để sử dụng nhé (tất nhiên là số của máy ở CH net bạn hay chơi, thường là 192.168.1.x (conexant) hay 10.0.0.x (Zoom) vì ít người ở hàng NET thay đổi địa chỉ gateway lắm)
2. Config port
Bạn sử dụng bất cứ Browser nào cũng được (mặc định là IE: Internet Explorer) để vào phần config của modem. Gõ IP internal của modem vào thanh địa chỉ (192.168.1.1 hoặc
http://10.0.0.2). Gõ user: user và password: password (đây là pass mặc định, cũng ít khi chủ hàng NET thay đổi lắm. Nhưng các bạn đừng nghịch ngợm lung tung nhé không là không connect vào NET được đâu, khổ thân chủ hàng đó. Kinh doanh bây giờ ế ẩm mà lại quá nhiều hàng mở ra rồi 0:) )
Vào phần Virtual Server, add cổng mà bạn muốn mở vào máy của bạn. Muốn add bao cổng cũng được nhưng không cần nhiều quá đâu rồi point vào IP của máy bạn ngồi. Chọn TCP cho cổng data transfer và TCP hoặc UCP cho cổng trigger. Sau đó ấn Save setting và Reboot lại modem là OK rồi. Nhớ là chỉ cần mở 1 port thôi, nếu không được thì mở thêm. Mở nhiều quá, virus và hacker đột nhập phá banh xác cái máy ra là hết chơi game luôn

. Chú ý, Starcraft dùng cổng từ 6112->6119 (TCP là đủ, thêm UCP cũng không sao)
À, bạn cũng có thể sử dụng chương trình Broadband IP gateway để open port trong một khoảng nào đó (một số modem như Zyxelz có hỗ trợ trong phần config) như hình sau (kích vào ranging port from: beginning port "gõ 6112" to end port "gõ 6119")
Chúc các bạn cài đặt thành công
Phần trên, tui mới hướng dẫn các bạn host game thôi. Còn một vấn đề nữa mà LT gặp phải với ZIT.VIE là làm thế nào mà 2 máy trong cùng LAN vẫn có thể join chung một game. Do Firewall của modem sử dụng Dynamic NAT nên khi gửi tín hiệu thì bên kia chỉ hiểu được là từ một IP mà thôi và gửi về IP external đó. Khi đó switch của bạn không thể hiểu được là data sẽ phải gửi tới máy nào trong LAN game. Tui đề xuất cách khắc phục thế này: mỗi một IP internal sẽ point vào một cổng khác nhau của Modem (có tất cả 8 cổng trong game Starcraft mà, không biết các cổng khác có hoạt động không, ai có LAN thử kiểm chứng bằng cách mở cổng 6120 rồi host game xem có được không). Cái này cũng chưa thử, để hôm nào ra clan.VIE hỏi ZIT xem sao?
Còn một câu hỏi nữa, thế 2 máy trong cùng LAN tại sao vẫn có thể chơi 2 game khác nhau được mà không bị conflict (giống như bạn chơi caro trên vinagames.com hay cờ tướng trên clubxiangqi.com đó) mặc dù tất cả các máy trong LAN game khi kết nối Internet đều cùng IP external? Công việc nhận gửi dữ liệu sẽ được switch và router đảm nhiệm ra làm sao? Khác biệt như thế nào với trường hợp 2 máy trong LAN join chung một game?