Bài đăng nổi bật

Hướng dẫn thay đổi thư mục root mặc định của Docker trên Linux

Hoàn cảnh: người viết gặp một trường hợp như này Được team hạ tầng cấp cho một máy chủ gồm 2 phân vùng lưu trữ, 1 phân vùng 20GB được gắn và...

11 tháng 3, 2014

HA trên Ubuntu 12.04 với DRBD

Lưu ý, hiện tại trên bản Ubuntu 12.04 nếu bạn cài bản DRBD đi kèm trên kho của Ubuntu thì có khả năng là bạn sẽ không thể chạy được dịch vụ này. Vì vậy, bạn nên cài từ kho của DRBD là tốt nhất.
Kho của DRDB tại đây: http://oss.linbit.com/drbd
Sau đó bạn làm theo các bước hướng dẫn dưới đây
1 - Cấu hình cho máy chủ
- Sử dụng 2 máy chủ, chạy hệ điều hành như nhau (Ubuntu 12.04 LTS 64 bit)
- Chuẩn bị ổ lưu trữ trên 2 máy chủ như sau:
 ----------------
dev/sda1 * (Boot Flag on) ext3 mounted on / 12G
Swap 4G
/dev/sda3 Extended
/dev/sda5 No file system & not mounted 63.9G (for DRBD data disk)

 -------------------
- Cấu hình tập tin /etc/hosts của 2 máy chủ như sau:
 -------------------
/etc/hosts
127.0.0.1 localhost.localdomain localhost
192.168.0.134 mail.domain.com mail
192.168.0.162 mailbk.domain.com mailbk

# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts
 -------------------------------------
- Cấu hình tập tin /etc/hostname của 2 máy chủ như sau:
Máy chủ 1:
mail
Máy chủ 2:
mailbk
2 - Cài đặt BRDB:
- Cài các gói thư viện cần thiết:
-----------------
apt-get install flex build-essential linux-headers-`uname -r`
--------------------------
- Cài DRBD từ nguồn như sau :
---------------
wget http://oss.linbit.com/drbd/8.2/drbd-8.2.7.tar.gz
tar –xzvf drbd-8.2.7.tar.gz

cd drbd-8.2.7
make all && make make install
----------------------
- Lưu ý, nếu cài từ nguồn thì thư mục cài mặc định của DRBD sẽ ở đây:
----------------------
usr/local/
/usr/local/etc
/usr/local/etc/init.d
 ---------------------
- Vì vậy hãy chạy lệnh tiếp theo để DRBD khởi động khi máy khởi động:
 ---------------------------
ln -s /usr/local/etc/init.d/drbd -s /etc/init.d/drbd
update-rc.d drbd defaults 70
modprobe drbd
--------------------
3 - Cấu hình cho DRBD
- Sửa lại tập tin cấu hình DRBD như sau:

-------------------------------
# You can find an example in  /usr/share/doc/drbd.../drbd.conf.example

#include "drbd.d/global_common.conf";
#include "drbd.d/*.res";

global { usage-count no; }
resource r0 {
        protocol C;
        startup {
                wfc-timeout 15;
                degr-wfc-timeout 60;
        }
        net {
                cram-hmac-alg sha1;
                shared-secret "secret";
        }
        syncer {
              rate 110M;
              # group 1;
              al-extents 257;
        }
        on mail {
                device /dev/drbd0;
                disk /dev/sda5;
                address 192.168.0.134:7788;
                meta-disk internal;
        }
        on mailbk {
                device /dev/drbd0;
                disk /dev/sda5;
                address 192.168.0.162:7788;
                meta-disk internal;
        }
}

----------------------------




4 - Chuẩn bị ổ đĩa cho DRBD:
- Trên cả 2 máy chủ hãy chạy lênh:
drbdadm create-md r0
/etc/init.d/drbd restart
- Nếu mọi việc đều ổn thì khi chạy lệnh: cat /proc/drbd sẽ có output như sau:
version: 8.4.3 (api:1/proto:86-101)
srcversion: 5CF35A4122BF8D21CC12AE2
 0: cs:SyncSource ro:Primary/Secondary ds:UpToDate/Inconsistent C r---n-
    ns:2644932 nr:0 dw:154064 dr:2495677 al:745 bm:160 lo:0 pe:3 ua:15 ap:3 ep:1 wo:f oos:2007064836
        [>....................] sync'ed:  0.2% (1960024/1962592)Mfinish: 49:36:04 speed: 11,232 (11,344) K/sec
- Từ máy chủ chính, chạy lệnh:
drbdadm -- --overwrite-data-of-peer primary r0
mkfs –t ext3 /dev/drbd0
mount –t ext3 /dev/drbd0 /opt

- Để tiến trình chạy cho tới khi nó hoàn thành.

=============================================
Tham khảo thêm tại:
http://helpmelinux.blogspot.com/2009/08/zimbradrbdheartbeat-hi-availability.html
http://rdstash.blogspot.com/2012/11/high-availability-storage-using-drbd.html

04 tháng 3, 2014

Một số kiến thức về games online

Bài này tôi vô tình lượm lặt được từ trang http://vietgamedev.net.
Tôi mạn phép sao chép và lưu lại ở đây.
Bạn nào muốn biết thêm có thể truy cập địa chỉ bài viết gốc tại đây.

Đã làm game thì chắc chắn các bạn cũng đã từng chơi qua khá nhiều games, trong đó không ít dạng game là game trực tuyến, chơi được với nhiều người. Sau đây là 1 bài viết khá hay về mô hình Client - Server của game online mình sưu tầm được từ I4VN.com. 

Không biết rằng các bạn game thủ đang chơi có khi nào thắc mắc một game online nó vận hành như thế nào không?
Loạt bài viết về kiến thức game online (MMO) sẽ cho bạn hiểu rõ hơn về thế giới MMO và cũng mong muốn mang đến cho các bạn những phút thư giãn nhưng bổ ích. Bạn sẽ không phải bỏ công tìm hiểu những điều này và cũng muốn nói trước rằng đây chỉ là sự hiểu biết cá nhân tôi (kingbinhminh) do đó chắc chắn không tránh khỏi thiếu sót cũng như có thể sẽ sai lệch đi chút ít. Mong rằng các bạn sẽ lượng thứ và góp ý cho.


Một máy chủ kiểu mẫu

Nguồn: I4VN.com

Kiến thức MMO phần 1: Server và Client
Để một MMO có thể vận hành được không phải giống như các Game PC là chạy ngay game. Các game còn cần phải thiết lập đồng bộ giữa server và client game (tất cả các file bạn down về máy để chạy game), có thể bạn nghĩ rằng client quan trọng vì nó chứa tất cả các file để chạy game nhưng thực tế server quan trọng hơn rất nhiều với 1 MMO.

Server MMO

Sẽ không bao giờ game có thể thành MMO nếu không có server, bạn có thể chơi chung với người khác qua nhiều cách mà cách thông dụng nhất hiện nay là mạng Lan ảo cho phép các game thủ kết nối với nhau qua mạng. Để thành game online đúng nghĩa thì đó phải là một server được đặt đâu đó do nhà phát hành vận hành và cho tất cả các game thủ kết nối vào chứ không phải như Lan ảo là server sẽ được dựng từ một trong các máy của game thủ đảm trách.

Server MMO ngày nay xử lý tất cả các hành động trong game cho dù nó là việc làm nhỏ nhất cũng phải thông qua server chứ không còn giao cho client xử lý nữa. Bởi nếu để cho client xử lý thì chắc chắn rằng sẽ bị khai thác (nghĩa là bị Hhck), do đó quy trình làm việc của MMO chính là: Server xử lý thông tin —> Client thể hiện —> Hành động của game thủ —> Client chuyển tải thông tin —> Server xử lý thông tin.

Với quy trình làm việc như thế server sẽ đảm nhiệm hoàn toàn việc xử lý thông tin, muốn can thiệp để sửa đổi bạn phải tác động lên server và việc đó gần như bất khả thi nếu server phòng chống tốt. Bạn sẽ cho rằng mình có thể can thiệp vào chỗ truyền tải từ client thông tin lên server là có thể hack. Nghe thì có vẻ đúng là thế nhưng thực tế thì server làm việc rất có logic, bạn phải thỏa mãn điều kiện cần thiết. Ví dụ bạn sửa đổi và gửi thông tin lên server rằng “Tôi có vũ khí hoàng kim”, server cũng sẽ chẳng đáp ứng điều đó bởi bạn còn phải thỏa mãn điều kiện kiểu như: “Bạn từ đâu mà có”, “bạn nói rằng giết boss”, “Server không thấy boss có rơi ra”,…v…v..v…Nói nôm na là bạn đưa thông tin lên mà không đúng, server cũng sẽ chẳng xử lý hay nói chính xác hơn nó không hiểu để xử lý.

Mỗi 1 tầng đều có thể đem làm 1 server nho nhỏ.

Server MMO nó như thế nào? Chắc hẳn không ít người muốn biết. Server cũng giống máy tính thông thường mà thôi, nhưng vì chẳng cần thể hiện gì ra màn hình nên bị cắt mất cái card màn hình. Bạn còn nhớ server LineAge II Việt hóa cũng chỉ là một cái máy tính để bàn đủ mạnh mà thôi chứ cũng chẳ ng cần phải server tốn kém gì ghê gớm. Server của các nhà phát hành thì chắc không phải thế, là một hệ thống server được liên kết từ các server. Đó vẫn chưa phải là tất cả những gì liên quan đến server MMO, bởi nó còn được chia làm 2 để xử lý thông tin.

Bạn gửi thông tin lên để server xử lý thì nó sẽ làm việc như thế này: Nhận Thông tin —> Xử lý thông tin —> Trả lại thông tin đã xử lý —> Lưu vào Database.

Cái này đương nhiên không chính xác cho lắm, nhưng ghi vậy để các bạn hiểu việc truyền tải dữ liệu đã xử lý trước rồi mới lưu dữ liệu. Trước tiên ta nói về việc server chia làm 2 là do một đảm trách nhiệm vụ xử lý các thông tin và gửi trả lại, còn cái kia sẽ là nơi xử lý database. Vì database là nơi chứa thông tin của người chơi nên chỉ cần truy xuất, sửa đổi khi có thay đổi. Chẳng hạn như nhân vật này cấp bao nhiêu và có được những item gì…v..v…v…Còn thông tin về quái này nọ trong game không có lưu trong phần database. Nó sẽ được load lên mỗi khi bắt đầu mở server, các thông số này sẽ làm cơ sở để server tính toán mọi thứ trong game.

Quay lại việc tại sao trả thông tin rồi mới lưu vào database, vì để người chơi được xuyên suốt không phải ngừng làm cái việc truy xuất database. Nhưng cũng vì điều này mà nó xảy ra một vấn đề là dupe đồ mỗi khi server lag, tại sao lại thế? Cơ chế nó thế này, vì khi xảy ra lag là việc xử lý không được xuyên suốt, trong một số trường hợp đó sẽ bị rollback. Bởi server xử lý bị nghẽn thông tin phải load lại thông tin của nhân vật, trong quá trình đó bạn sẽ có vài giây hay nhiều hơn để kịp chuyển đồ (dữ liệu) sang một nơi khác. Sau đó bạn sẽ thấy mình lại có được đầy đủ trước khi chuyển, cứ thể mà làm cho đến khi bạn thỏa mãn. Tuy nhiên với các server ngày nay mạnh mẽ hơn trước rất nhiều nên việc server lag rất ít xảy ra.

Những gì hình thành server MMO? Server MMO cũng chỉ như client là tập hợp của nhiều file lại với nhau. Khác với Client chủ yếu thể hiện bằng hình ảnh, thì server là những file text chứa đựng những thiết lập mà khi chạy server các file hệ thống sẽ load nó. Cần chỉnh sửa gì như tỉ lệ rớt item, kinh nghiệm khi đánh quái…v…v…v…chỉ cần sửa lại trong các file này sau đó load lên lại là mọi thứ sẽ thấy khác ngay. Ngay cả việc thời gian hồi skill cũng có quy định trong này, có một số game vì ỷ y mà đưa cho client tự tính thời gian hồi skill nên đã bị hack một cách thê thảm bằng việc đánh skill không deplay. Một Server hoàn hảo là phải tự tính toán hết mọi việc, client chỉ thể hiện không hơn không kém tí nào.

Thông thường sẽ có 3 file xử lý chính: Một là center server gần như xử lý tất cả trừ công việc của 2 file kia. Map server là file load hết các map cũng như phân chia map để xử lý. Character server quá dễ để nhận ra file này khi chuyên xử lý những gì liên quan đến nhân vật. Điều thú vị là một khi tắt Map server thì game thủ chơi bằng client sẽ bị văng hết ra ngoài, nhưng Bot thì không…nên muốn quét sạch một mẻ bot thì chỉ cần tắt đi sau đó ghi nhận lại ai còn trong game mà thẳng tay chém không cần suy nghĩ.

Như những gì đã nói, server đảm nhận hết nên việc update cũng thế không phải cứ tải bản update về máy là bạn đã chơi được bản update. Cái đó còn phải chờ nhà phát hành chỉnh lại server cho các thông số nó khớp với client, nếu không mọi thứ sẽ trở nên vô nghĩa. Bạn có trong tay bản client mới nhất nhưng lại vẫn chơi với các tính năng cũ.

Đó là những thông tin về server, tôi chỉ nói thêm một ít trường hợp để các bạn phòng tránh tốt hơn là đừng nên làm theo. Trước tiên là hack speed, cái này đơn giản chỉ là tăng tốc trao đổi dữ liệu qua lại giữa server và client nên có rất nhiều chương trình có thể giúp đỡ chẳng cần phải là chương trình chuyên dùng cho game. Tuy nhiên tôi khuyên bạn đừng làm thế bởi các server đều có chống hack speed bạn sẽ bị đá văng game sau đó vài giây hoặc có game còn ác hơn với việc thiết lập auto ban cho việc server bị ép trao đổi dữ liệu với tốc độ cao. Việc đánh lừa server bằng gói dữ liệu mà bạn ngụy tạo cũng đừng nên làm tốn thời gian vô ích.

Client MMO

Cấu tạo cơ bản của client thì đa số là các file hình ảnh được giấu vào một file thường có tên gọi là Data.dat có vài chương trình đặc thù cho phép bạn tách một số file từ trong file này. Mục đích không phải để hack mà là để chỉnh sửa cho hợp ý họ, chẳng hạn như một số giao diện trong game không đẹp họ chế ra những giao diện màu sắc đẹp đẽ hơn nhưng vẫn giữ đúng kích thước giao diện. Có game tách sẵn cho game thủ làm cho dễ dàng nhưng không phải game nào cũng ưu ái đến thế, bởi họ không muốn chúng ta nghịch lung tung.

Có hình ảnh thì sẽ có file âm thanh, các file này cũng được giấu nhưng có một số game thì mở ra phần nhạc nền các map của game. Sở dĩ họ làm vậy là để cho các game thủ tự đưa nhạc mình thích vào để không nghe hoài một âm thanh chưa chắc gì là hay mấy. Cũng có game cho phép game thủ đưa nhạc riêng vào mà không cần thay đổi gì cả, nhắc đến việc này mới nhớ game Hiệp Khách Giang Hồ là game cho phép làm điều này một cách tự do.

Hầu hết trong client game đều có một file mà chúng ta nên quan tâm đó là file Config bạn có thể dùng word mở lên xem bên trong có gì. File này chứa hầu hết các khả năng chỉnh sửa trong game như góc nhìn, khoảng cách…v…v…v…Một số game 2D bạn không phóng xa hơn được vì do góc nhìn bị hạn chế bạn chỉ cần chỉnh số to hơn là có thể nhìn từ góc trên trời xuống. Một số game vì ý đồ cho một số class đánh xa vượt tầm nhìn thông thường nên giấu luôn không cho bạn chỉnh, nhưng nếu mày mò chỉnh được thì bạn cũng sẽ có một lợi thế rất lớn trong việc PK.

Ngày trước các game thường mắc một số sai lầm chính là cho client tự xử lý một số vấn đề trong đó thường là vấn đề thời gian hồi máu, skill. Do đó game thủ chỉ cần dùng chương trình thông dụng là đã có thể chỉnh như ý làm cho game bị hack không thể đỡ nổi. Trong vấn đề thể hiện thì game Đột Kích cũng rơi vào thảm cảnh khi file để làm đối phương tàng hình lại nằm bên ngoài server khiến gamer dễ tìm ra và xử lý.


Một game online RPG

Nguồn: I4VN.com


Kiến Thức MMO Phần 2: Server Webgame

Trên cơ bản, server Webgame không có gì khác với game client bởi mọi thứ cũng được xây dựng như nhau là: Hệ thống server, cơ sở dữ liệu (database)…v…v…v…Tuy nhiên webgame thì không cần phải làm đồng bộ giữa server và client vì hầu như mọi thứ sẽ được server xử lý hết bao gồm cả hình ảnh. Bạn sẽ nghĩ trình duyệt sẽ thay thế client? Nhưng bạn có nghĩ là trình duyệt làm gì có hình ảnh của game để mà hiển thị, do đó giống như chúng ta lướt web thì trình duyệt sẽ tải hết những gì cần thể hiện từ server về. Nói là nói thế chứ webgame có cách để trị tình trạng này bởi cứ mỗi lần vào mà phải load lại từ đầu thì nguy to.

Không khác gì quá trình vận hành MMO có client thì ở webgame mọi thứ đều được server xử lý sau đó mới đưa thông tin về các trình duyệt hiển thị lên cho game thủ thấy tại màn hình. Bạn có nhận ra gì bất thường không? Đó chính là dung lượng mà server phải truyền tải, chẳng lẻ phải trao đổi liên tục thông tin hình ảnh này nọ thì băng thông của server làm sao mà chịu nổi. Chẳng hạn lấy 1 webgame thời kì đầu chính là NeoPet thì việc bạn load liên tục và thời điểm đó mạng internet Việt Nam đúng là rất chậm vì vẫn còn xài dial-up, đương nhiên là load rất lâu. Sau này nền tảng flash ra đời việc chơi game chỉ phải load một lần cho đến khi ta tắt nó đi, nhưng nền tảng này cũng không phải là tốt nhất cho game bởi chẳng phải vô cớ mà Apple không chịu “chơi” với flash là vì nó nặng nề. Do đó đa số các webgame hiện nay xây dựng trên nền tảng Java. Vì sao dùng nền tảng này thì lý do là webgame có thể chơi trên bất kì thể loại nào có kết nối internet: Laptop, điện thoại, máy tính bản…v…v…v…và mỗi cái thì là một hệ điều hành khác nhau, nhưng với Java thì có thể bê nguyên từ PC sang điện thoại dễ dàng.

Để giảm tải việc truyền dữ liệu nhất là những hình ảnh luôn dùng lặp đi lặp lại, do đó webgame đòi hỏi mình phải tải một phần của game vào lúc ban đầu. Phần này sẽ không mất đi mỗi khi bạn tắt trình duyệt mà nó lưu vào trình duyệt mà nói ngắn gọn là Cookies, để chúng ta không tốn thời gian vô ích. Tuy nhiên, do vấn đề bảo mật hoặc làm nhẹ máy chẳng hạn như bạn chơi ngoài tiệm game thì hiện nay đa số đều “đóng băng” ổ C – nói dễ hiểu là phong tỏa ổ C và mỗi khi reset máy lại là ổ C sẽ quay lại trạng thái như cũ. Nghĩa là bạn ra tiệm chơi thấy máy mở sẵn thì hãy reset máy cho chắc ăn và bạn vào webgame sẽ lại chờ load. Bởi vậy đừng thắc mắc là có lúc vào nhanh có lúc vào chậm, vào chậm là do bạn mất Cookies vì lý do gì đó, máy bạn tự xóa, hay server yêu cầu load lại…v…v…v…

Một số webgame cho bạn thay đổi 1 tí hình ảnh trong game bằng việc sửa đổi hình ảnh hiển thị, đương nhiên là can thiệp vào Cookies. Thật ra cũng không hẳn là vậy, bởi có webgame yêu cầu chúng ta nếu muốn load game nhanh thì hãy lưu phần hình ảnh game vào nơi nào đó. Travian chắc ai yêu thích webgame cũng đã từng chơi qua, game có cho làm việc này nên hình ảnh load cực lẹ.

Trình duyệt

Không phải chỉ có một mà có rất nhiều trìn h duyệt khác nhau và bạn lướt web cũng đã được các trang web thông báo là xem bằng Chrome, Firefox, IE là tốt nhất…v…v…v…Webgame cũng thế thôi nhưng do sử dụng Java nên ít có game khuyến cáo điều này. Việc sử dụng trình duyệt nào tốt nhất thì bạn hãy dùng theo ý thích của mình. 2 trình duyệt khá tốt hiện nay là Chrome và FireFox, FireFox chiếm Ram nhiều hơn nhưng thường được hỗ trợ tốt hơn.


Một ứng dụng Auto (Bot)

Nguồn: I4VN.com


Kiến Thức MMO Phần 3: Auto và Bot

Auto và bot là điều không còn xa lạ gì đối với các game thủ Việt Nam, nhưng không biết rằng bạn có biết nó được cấu tạo thế nào? và câu chuyện của nó tại Làng MMO Việt Nam.

Packet

Trước khi nói về auto và bot thì chúng ta hãy nói về Packet một chút để hiểu rõ cách hoạt động của auto và bot. Không cần hiểu quá sâu vào nó mà chúng ta hãy hiểu đơn giản nó là một gói dữ liệu đường truyền qua lại giữa client và server. Tại sao phải là một gói dữ liệu? Bởi chỉ những thông tin đơn lẻ thì không thể xử lý được, giống như ra một mệnh lệnh đi về phía trước nhưng muốn client và server hiểu thì thông tin phải trao đổi kiểu như: Mệnh lệnh Đi (hay chạy) + vị trí trên map.

Máy móc xử lý khác chúng ta không phải kiểu chúng ta nói đi về trước mấy bước mà phải theo trình tự phía trên. Vì thế gói dữ liệu này sẽ càng nhiều hơn khi mệnh lệnh phức tạp hơn chẳng hạn như đánh skill:Mệnh lệnh sử dụng skill + Skill gì + Tọa độ + Hiệu ứng + Mục tiêu.

Bạn có hỏi là tại sao phải có hiệu ứng không? Đó là server phải gửi thông tin này đến client để thể hiện hình ảnh của skill nó như thế nào, chẳng hạn như đánh lửa thì có hiệu ứng cháy lửa bừng bừng trên mặt đất. Tôi có thể can thiệp vào phần này nên hiệu ứng muốn sửa đổi thế nào cũng được, chẳng hạn như một buff nào đó tôi sửa thành một buff tăng tốc độ chạy. Nhìn thấy nhân vật chạy đúng kiểu có buff tăng tốc nhưng sẽ luôn bị khựng lại lý do rất đơn giản. Vì mặc dù client thể hiện như thế nhưng trên server vẫn ghi nhận tốc độ cũ, nên khi vừa đến điểm chỉ định nó sẽ khựng lại hay giựt lùi lại để khớp với server. Tóm lại bạn có thể thay đổi nhiều thứ trong một gói dữ liệu (packet) nhưng cũng chỉ vô ích vì server nó khác client.

Bạn đang suy nghĩ là nếu mình gửi thông tin lên server thì sao? Như đã nói ở bài trước dù bạn gửi rất giống client hay có thể nói là hoàn toàn thay thế client cũng vô ích. Server nó làm việc rất có logic nghĩa là phải hội đủ mọi yếu tố thì nó mới xác nhận là thật, ví dụ bạn gửi rằng con quái đó đã bị chết, nhưng server ghi nhận làm gì có ai đánh nó mà chết thì cũng vô ích. Bạn muốn server nghe lệnh vô lý của bạn, nếu có xảy ra thì server đó quá dỏm.

Auto

Bạn thường nghe nhà phát hành dùng từ “phần mềm thứ ba” để nói về auto và bot. Theo cách nhà phát hành gọi thì ngoài client, server ra thì bất kì thứ gì khác đều gọi là phần mềm thứ ba. Do đó sẽ có phần mềm được phép xử dụng và có phần mềm bị cấm, auto thường bị cấm nhưng tại Việt Nam thì mọi thứ dường như đã khác. Auto hiện nay không khuyến khích nhưng cũng không hề cấm, đặc biệt là auto tích hợp sẵn trong game thì lại càng không cấm vì nó không phải là phần mềm thứ 3. Bởi theo cách nói nhà phát hành thì đó vẫn chỉ là client được tích hợp chức năng auto.

Như đã nói ở trên thì Packet là thành phần trao đổi thông tin với server, tuy nhiên auto khác bot ở chỗ không thay thế cho client mà vẫn phải dựa vào client mà chạy. Auto cũng có nhiều cách để tạo ra không phải là cần lập trình để nhận Packet rồi Send Packet về cho server. Có nhiều cách để tạo ra Aato từ đơn giản đến phức tạp như:

– Auto Macro đó chính là những chương trình cho phép tự động một phím hay nhiều phím trong một vòng tùy theo ta quy định. Khuyết điểm của loại này chính là không thể chuẩn theo game và đặc biệt bị chiếm quyền sử dụng máy.

– Auto Click chương trình này hoạt động theo điểm trên màn hình nghĩa là Pixel, bạn sẽ quy định tại điểm nào đó trên màn hình và nó sẽ tự click giùm mình. Khuyết điểm cũng là không chuẩn theo game và cũng bị chiếm quyền sử dụng máy.

– Auto theo màu là những auto đơn giản. Nghĩa là làm theo màu sắc, khác với auto click chút xíu là nó ghi nhận theo màu sắc mà làm. Khuyết điểm rất rất không chuẩn theo game một sự thay đổi màu sắc là xem như tiêu luôn, thường chỉ dùng để đo thanh máu và Mana.

– Auto game đây mới đúng nghĩa là auto của game, bởi mọi hành động đều chuẩn xác với game và đặc biệt không chiếm quyền sử dụng. Có nhiều cách để làm chuẩn theo game nhưng hầu hết để đạt mức hoàn hảo đều liên quan đến packet.

Hiện nay chả còn ai dùng mấy thứ như auto click, auto macro bởi chẳng giúp ích gì nhiều. Riêng auto game thì vấn đề hơi phức tạo bởi ít ai rảnh rỗi tung auto cho mình xài và đặc biệt kiếm được auto sử dụng an toàn cũng là vấn đề nan giải. Bởi những chương trình này rất dễ bị cài thêm keyloger (ghi nhận lại những gì trên bàn phím) bạn có thể sẽ bị mất tài khoản. Hiện nay tội phạm mạng đã bị để ý nhưng chỉ những thứ gì dính đến tiền thật, còn trong game chưa có ai xử lý cả ngoài nhà phát hành.

Bot

Đỉnh cao của auto sẽ là gì? Đó chính là Bot. Bot khác rất nhiều với auto, bởi nếu auto có những thứ không làm được thì Bot làm được tất cả mọi chuyện trong game. Có người từng chơi 1 game từ đầu đến max level của game cũng chưa từng 1 lần đăng nhập vào game, kinh điển chưa?! Vì trên cơ bản cứ phân biệt là auto cần chạy song song với client còn bot thì sẽ thay thế client.

Bot vì sao ghê như thế? Server và client truyền dữ liệu qua lại nhưng việc hiển thị của client còn được quy định thêm nữa. Lấy ví dụ như việc lượm đồ mặc dù đồ rớt ra đã được server truyền tin đến, nhưng bạn lại phải đợi đồ rớt xuống đất mới lượm được. Auto có thể bắt tín hiệu từ client mà phát lại liền là tôi đã lượm nên khi bạn dùng auto thì sẽ lượm ngay trên không. Có điều vẫn không bằng bot vì nó nhận tín hiệu thì ngay lập tức và trả lại liền nên bạn sẽ chẳng kịp nhìn là từ trên không chứ đừng nói là thấy dưới đất.

Bot thường rất nhỏ gọn bởi nó cũng giống như server là gồm những file text chứa những thông tin chẳng hạn như: Quái A sẽ là 8024 hay item B là 2211 chẳng hạn. Vì sao là những con số như thế thì như đã nói chúng sẽ được ghép lại với những mệnh lệnh khác như tôi đang đánh Quái A công thức sẽ là “Số mà lệnh đánh + quái A (8024)…v…v…v…rồi nhận được item B là 2211″ chẳng hạn như thế.

Khó khăn khi viết bot là bạn phải am hiểu và có thể nói là một người lập trình có tay nghề, bởi bạn phải ngồi phân tích Packet của game. Sau đó phải giả lập làm sao để bot qua mặt cả server không đơn giản như auto là phần này đã được client xử lý. Bởi vậy ta có thể thấy nhiều auto chứ bot thì khá ít, nhưng auto chạy 2-3 cái thì bot đã có thể chạy đến 10-15 cái. Do không cần mở client mà nên chấp game có nặng cỡ nào thì bot vẫn chỉ là như thế chiếm dụng máy rất ít. Với một máy mạnh, đường truyền tốc độ cao như hiện nay thì mở 100 bot cũng chả phải là vấn đề gì nan giải.

Bot hoàn toàn có thể hack speed hay hack một số thứ khác nhưng thường chẳng ai viết ra mà để làm những chuyện vô bổ như thế. Vì server hoàn toàn có thể chém ngay mà không cần thông qua GM. Trong khi bot đã được chỉnh một cách pro thì chỉ có GM tự tay đi săn lùng thì may ra, còn việc chặn từ bên ngoài…đã hàng ngàn lần cố gắng nhưng đến nay vẫn chưa chặn được. Trừ khi cộng đồng hay ít nhất là tác giả không còn hỗ trợ nữa.

Có ai từng dùng con bot open-kore của Ragnarok chưa nhỉ? Nếu dùng rồi bạn sẽ thấy nó lợi hại đến mức nào và đến nay nó vẫn là nổi ám ảnh của tất cả các server Ragnarok. Nó có thể làm tất cả mọi việc kể cả làm quest, train, săn item, giết boss…v…v…v…chỉ cần bạn chỉnh đúng thì mọi thứ sẽ trong tầm tay.

Nói về bot khủng cũng có thể nhắc đến Võ Lâm Bá Chủ con bot từng làm cho Võ Lâm Truyền Kỳ 1 điên đảo, bởi vì nó hay quá mức nên bị nhà phát hành chém thẳng tay vì nếu không chỉ một thời gian nữa thôi Võ Lâm Truyền Kỳ 1 sẽ lung lay. Điểm khác biệt của bot Võ lâm 1 và open-kore chính là khả năng tự chỉnh. Võ Lâm Bá Chủ mặc dù có thể tự làm rất nhiều việc nhưng phải do người viết chỉnh cho chúng ta, còn open-kore thì mình sẽ tự chỉnh tất cả nếu không tự chỉnh được thì có thể tìm phần đã có người chỉnh sẵn.



Nguồn: I4VN.com