[KT] Phân tích server danhkiem
Follow us on
Follow us on Facebook Follow us on Twitter Linked In Flickr Watch us on YouTube My Space Blogger
 
Trang 1 của 2 1 2 CuốiCuối
Kết quả 1 đến 10 của 12
  1. #1
    Thành Viên
    Ngày tham gia
    Oct 2011
    Bài viết
    87
    Thanks
    77
    Thanked 283 Times in 29 Posts

    Phân tích server danhkiem

    Thấy nhiều người dùng SV danhkiem share rồi kêu kẹt acc + kẹt map v.v.....
    Nhưng nguyên nhân là gì thì nhiều người chưa biết nên mình sẽ phân tích 2 file gameserver của danhkiem cho mọi người hiểu

    Đầu tiên là 1 gameserver bình thường:

    [Only registered and activated users can see links. ]

    Thứ 2 là gamerserver danhkiem với tốc độ load map + dữ liệu phải nói là như tên bắn

    [Only registered and activated users can see links. ]

    Nhìn vào 2 ảnh chắc các bạn cũng thấy rõ là file chạy của danhkiem Import thiếu khai báo đến SQL => Do không truy xuất vào SQL nên việc load dữ liệu chỉ diễn ra trong script và setting => Dữ liệu nhân vật ghi vào SQL sẽ mang tính chất hên xui vui thì lưu không vui thì thôi .

    Kẹt acc vì server không lưu dữ liệu hoặc đã xóa dữ liệu nhân vật của bạn => Server có biết bạn là ai đâu mà cho bạn vào chơi đc

    Cách khắc phục là add thêm LIBMYSQL.dll vào Import

    P/s: Các bạn cứ fix mái thoải + cấu hình, thay patch mái thoải đi nó cũng không mất được tình trạng các bạn đang gặp đâu zZ
    Lần sửa cuối bởi hieubg1900, ngày 16-03-12 lúc 10:43 AM.
    Khách viếng thăm hãy cùng hieubg1900 xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!

  2. The Following 7 Users Say Thank You to hieubg1900 For This Useful Post:

    †ShiNiChi† (04-04-12), bongbay (16-03-12), boyganz (31-03-12), DanTruongX (16-03-12), lastpr0 (16-03-12), satthulauhyh (16-03-12), VNGameZoneVN (16-03-12)

  3. #2
    Thành Viên
    Ngày tham gia
    Mar 2009
    Bài viết
    240
    Thanks
    268
    Thanked 96 Times in 42 Posts

    Ðề: Phân tích server danhkiem

    Bạn biết thêm không chỉ ae lun đi, mấy cái này ng ngoài nhìn vào mù tịt
    Thank for all!!!
    Khách viếng thăm hãy cùng satthulauhyh xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!

  4. #3
    Make a difference
    Ngày tham gia
    Dec 2008
    Bài viết
    143
    Thanks
    28
    Thanked 27 Times in 22 Posts

    Ðề: Phân tích server danhkiem

    Đúng là chưa ai nghĩ đến vấn đề này, không quơ đũa, không tự nhận mình là mọi người, nhưng có lẽ thực tế là vậy

    Ai vậy ta

  5. #4
    Thành Viên
    Ngày tham gia
    Sep 2010
    Đang ở
    HN
    Bài viết
    240
    Thanks
    107
    Thanked 79 Times in 30 Posts

    Ðề: Phân tích server danhkiem

    Có thể nó load thư viện mysql ở phần khác chứ nếu ko load thì nó hiểu mysql là cái gì để mà lưu các nhân vật? Làm sao send lệnh lên mysql server đc . Ở đây các server vẫn lưu + load nhân vật bình thường. Server nào load 4 sub + worldset ngon thì ko kẹt acc khi chuyển map nhưng kẹt acc khi load dữ liệu nhân vật quá lớn.

    Nhận định sơ bộ:
    Client: Em có thể kết nối trao đổi dữ liệu với anh ko?
    Server: Okie. Anh truyền được xxx byte 1 lần thế còn em?
    Client: Em truyền được có yyy byte một lần thôi anh chia ra đi
    Server: Ờ thì chia. Nhận lấy này ...
    WAN: ĐM chia ra lắm thế tao có chứng chỉ MTU 1500 chỉ mang đc 585 gói mày chia nhiều thế thì đi chết đi
    Lần sửa cuối bởi heybaby2707, ngày 16-03-12 lúc 11:22 AM.
    Khách viếng thăm hãy cùng heybaby2707 xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!

  6. The Following 2 Users Say Thank You to heybaby2707 For This Useful Post:

    dockiem (28-06-12), tny143 (18-03-12)

  7. #5
    V.I.P BMK's Avatar
    Ngày tham gia
    Mar 2011
    Bài viết
    612
    Thanks
    189
    Thanked 665 Times in 182 Posts

    Ðề: Phân tích server danhkiem

    thực tế các này điều được edit lại dành cho người không chuyên sài vì vậy đã lượt các lệnh callback để truy xuất data dẫn đến các hàm trong game không đầy đủ và dẫn đến việc không addd đồng được (khựa thì nó tính sẵn rồi offline thôi còn online thì tự hex ko thì mua bản full ) còn kẹt map thì ko phải tại nó đã test chứng thực 100%
    Khách viếng thăm hãy cùng BMK xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!

  8. #6
    Thành Viên
    Ngày tham gia
    Mar 2009
    Bài viết
    240
    Thanks
    268
    Thanked 96 Times in 42 Posts

    Ðề: Phân tích server danhkiem

    Trích dẫn Gửi bởi Hồ Duy Quốc Bảo [Only registered and activated users can see links. ]
    thực tế các này điều được edit lại dành cho người không chuyên sài vì vậy đã lượt các lệnh callback để truy xuất data dẫn đến các hàm trong game không đầy đủ và dẫn đến việc không addd đồng được (khựa thì nó tính sẵn rồi offline thôi còn online thì tự hex ko thì mua bản full ) còn kẹt map thì ko phải tại nó đã test chứng thực 100%
    Bạn xem giúp cái kẹt acc, fix theo cách của bạn là chỉnh IP thì vẫn hok dc
    Khách viếng thăm hãy cùng satthulauhyh xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!

  9. #7
    Vi phạm quy định VNGameZoneVN's Avatar
    Ngày tham gia
    Mar 2012
    Đang ở
    https://t.me*********
    Bài viết
    427
    Thanks
    202
    Thanked 565 Times in 74 Posts

    Ðề: Phân tích server danhkiem

    vậy bạn chỉ cách impor luôn đi! chứ mọi người nóng lòng. PRO HỒ DUY QUỐC ẨO ĐÃ ADD ĐƯỢC ĐỒNG THƯỜNG RỒI
    Khách viếng thăm hãy cùng VNGameZoneVN xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!

  10. #8
    Thành Viên
    Ngày tham gia
    Feb 2012
    Đang ở
    hcm
    Bài viết
    304
    Thanks
    199
    Thanked 313 Times in 91 Posts

    Ðề: Phân tích server danhkiem

    mình cũng đã thử mở file exe như bạn đã nói, tuy nhiên mình so sánh giữa 2 file gameserver và gameserverd phát hiện có sự khác biệt ở chổ thiếu import file SQL như trên, tuy nhiên theo mình nghĩ thì cái này dẫn đến lỗi kẹt acc thì không hẳn, mà cái mình nghĩ đến chính là lỗi ADD ĐỒNG THƯỜNG ở server của shinichi (DanhKiem), nhớ lại lúc trước có AE lấy script của sv trantoai bỏ vào và chạy gameserverd thì miễn cưỡng add được đồng thường.

    sau nhiều lần check file và so sánh mình thấy có khác biệt cơ bản là thư viện SQL như sau :

    gameserver của các server add được đồng thường : có thư viện SQL
    gameserverd của shinichi có khả năng add được đồng thường (còn lỗi nên ít người dùng, hầu hết dùng gameserver.exe để load)
    gameserver của shinichi không có khả năng add đồng thường : thiếu thư viện SQL

    và cái nhìn đầu tiên vào sự khác biệt này dẫn tới nghi vấn : Liệu có phải thiếu thư viện này làm cho sv shinichi không add được đồng và 1 số lỗi nhỏ khác ? tuy nhiên vẫn còn mâu thuẫn chứ ko phải chắc, vì nếu chắc thì mình khẳng định luôn chứ chẳng cần nghi vấn mâu thuẩn ở chổ ...
    - Nếu thiếu thư viện SQL mà ko add được đồng thường thì đồng khóa và tiền add bằng thư viện nào >.< (có thể đồng thường có cơ chế add khác, hy vọng vậy >>> nếu vậy thì có thể fix được vụ đồng này)
    - Có thể server của shinichi sử dụng thư viện SQL ở 1 nơi khác hoặc 1 cơ chế khác >>> nếu vậy có thể ko cần import SQL trên

    Tuy vậy, mình vẫn muốn test thử, import thư viện SQL vào gameserver.exe của shinichi để chạy server. Nhưng thằng cha eXeScope của mình hình như chưa có KEY nên không cho import mà chỉ cho export, cũng có thể tại file exe đó ko cho import. AE nào có tools khác để thử không ? Resource hacker mình cũng thử rồi nhưng không được.

    1 làn gió mới thổi đến mang theo hy vọng hoàn thiện server Shinichi, hy vọng AE cố gắng
    Khách viếng thăm hãy cùng nguyenhophuc87 xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!

  11. #9
    V.I.P BMK's Avatar
    Ngày tham gia
    Mar 2011
    Bài viết
    612
    Thanks
    189
    Thanked 665 Times in 182 Posts

    Ðề: Phân tích server danhkiem

    khi add đồng thường các bạn chú ý ở gameserver sẽ báo lỗi callback đơn giản thiếu file và đã được edit các hàm đó nên gameserver khi load script không thành công dẫn đến ko báo dòng gì là lỗi cả

    p/s muôn skhongo kẹt acc khi online thì các bạn phải NAT port vào config ip lại để khi vào vào ip đăng nhập là 10.0.2.2 thì work còn ip thật thì té .
    Khách viếng thăm hãy cùng BMK xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!

  12. #10
    Make a difference
    Ngày tham gia
    Dec 2008
    Bài viết
    143
    Thanks
    28
    Thanked 27 Times in 22 Posts

    Ðề: Phân tích server danhkiem

    Theo mình thì nghĩ khác, đừng suy nghĩ xa xôi.

    Chui vào database xem thế nào, mình đang tiến hành đây, nhưng dự đoán sơ bộ là.

    Khi 1 account đăng nhập vào, gameserver.exe sẽ xử lý và add vào database nội dung là "true" (ví dụ thôi) tức là đã đăng nhập. Khi thoát game, gameserver sẽ lưu thông tin nhân vật lại, và query vào database sửa true thành false (tức là chưa đăng nhập). Trường hợp kẹt account có nghĩa là, gameserver.exe không thể query vào database để đổi true thành false, khiến cho tài khoản bị server hiểu lầm là "true" (đã đăng nhập, và đang trong game).


    Từ đó có thể suy ra những nguyên nhân sau:

    1. Do dữ liệu truyền ra vào quá lớn, dẫn đến overload (so với điều kiện cho phép của gameserver), gameserver.exe từ chối kết nối đột ngột đến client x dẫn đến chưa kịp lưu lại thông tin nhân vật hoặc chưa kịp chuyển true thành false như vấn đề nêu bên trên.

    2. Database bị lỗi.

    3. Gameserver.exe lập trình query bị thiếu sót hoặc xung đột vấn đề gì đó với 1 số thứ khác trong database, dẫn đến khi query bị fail ngay lúc xử lý query kick tài khoản.

    Lý do có thể suy luận như vậy,

    Tài khoản bị kẹt, nhưng vẫn còn tồn tại thông tin tài khoản lẫn thông tin nhân vật, mình đã dùng PHP query từng table trong data ra coi, mất cả ngày.

    Điều đó có thể chứng minh rằng nguyên nhân thứ 1 mình suy luận là có căn cứ. Nhưng hiện tại mình chưa tìm được data-table chứa thông tin ghi lại stat của 1 user.



    Dữ liệu quá tải, quá nhanh so với mức cho phép, thì windows hay bản thân gameserver sẽ có 3 hướng, 1 là từ chối, 2 là chịu đựng, 3 là crash.

    Mình có 1 vấn đề như thế này. Rõ ràng, bản server này là bản "Debug" cứ không phải "Release". Nếu là release build thì không cần cài thư viện debug mới chạy được => đây là bản server chưa hoàn chỉnh.

    Để tranh lỗi, các bạn cần cài Windows Server 2008 Enterprise để chạy là tốt nhất. Vì xét thấy, server này viết trên nền Visual Studio 2005, không ai dùng windows XP/windows SV 2003 để viết và dev bằng VS 2005 hết.

    Tôi nhớ có 1 lần VNG có 1 đợt bảo trì lớn toàn bộ hệ thống, hình như hồi năm 2010 là phải. Lúc đó VNG chuyển toàn bộ máy chủ, thay toàn bộ đường mạng, thành lập datacenter riêng, đăng ký dãi IP dành riêng cho VNG. Lúc vừa mới chuyển, Kiếm Thế rất lag, tất cả các mạng truy cập vào game đều lag, disconnect liên tục cả tuần lễ. Sau đó VNG đã khắc phục xong, nhưng sự cố đó hình như không ảnh hưởng gì đến kẹt tài khoản cả => Đường mạng chậm không ảnh hưởng đến chuyện kẹt account.


    => Cái cốt lõi cần soi ở đây theo thứ tự ưu tiên sẽ là, HĐH -> Database -> hết cách thì mò vào gameserver cầu may

    Đây là những nhận xét cá nhân, ý đồ cùng phát triễn chứ không có ý định quăng bom ném đá gì cả, ae cùng đóng góp ý kiến để phát triển ngày một tốt hơn.
    Ai vậy ta

  13. The Following 2 Users Say Thank You to lastpr0 For This Useful Post:

    dockiem (28-06-12), nguyenhophuc87 (16-03-12)

 

 
Trang 1 của 2 1 2 CuốiCuối

Các Chủ đề tương tự

  1. [KT] File Reg Fix Lỗi TCP Full Buffer trên SV DanhKiem (†ShiNiChi†)
    Bởi nguyenhophuc87 trong diễn đàn Releases
    Trả lời: 12
    Bài viết cuối: 17-03-12, 10:28 AM

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •  
Múi giờ GMT +7. Bây giờ là 01:20 PM.
vBulletin®, Copyright ©2000-2011, Jelsoft Enterprises Ltd.
CLBGamesVN không chịu trách nhiệm về Luật Bản Quyền của các tài liệu, bài viết v.v...được đăng tải trên diễn đàn này.
Diễn đàn phát triển dưới sự đóng góp của tất cả thành viên. BQT chỉ là những người thành lập ra sân chơi, quản lý và duy trì về mặt kỹ thuật, nội dung khi hợp lệ.