Giới thiệu

NSO Classic — máy chủ Ninja School Online phong cách cổ điển

Trang này mô tả trò chơi bằng những dữ kiện đã đối chiếu với mã nguồn máy chủ và client của NSO Classic, và ghi rõ nguồn của từng dữ kiện. Mục đích là để bất kỳ ai — người chơi hay một công cụ tìm kiếm — có thể kiểm chứng lại từng câu thay vì phải tin.

NSO Classic là gì

  • NSO Classic là một máy chủ trò chơi nhập vai nhẫn giả dựng lại lối chơi Ninja School Online phong cách 2013, dành cho người chơi Việt Nam, chạy client Java ME.

    Nguồn: Mô tả định danh của website; client trong nso-classic-client

  • Tên viết tắt NSO trùng với Nintendo Switch Online, nhưng hai thứ không liên quan tới nhau.

    Nguồn: Câu hỏi thường gặp của website

  • Trò chơi chia người chơi thành sáu phái, mỗi phái thuộc một trong ba trường và mang thuộc tính của trường đó.

    Nguồn: nso-classic-client/src/resources/mResources.java:939-940

Sáu phái, ba trường, ba thuộc tính

  • Ba trường là Hirosaki (thuộc tính Hỏa), Ookaza (thuộc tính Thủy) và Haruna (thuộc tính Phong); mỗi trường đào tạo hai phái.

    Nguồn: nso-classic-client/src/resources/mResources.java:939-940

  • Cách xếp phái vào trường là Hirosaki gồm Kiếm và Phi Tiêu, Ookaza gồm Kunai và Cung, Haruna gồm Đao và Quạt.

    Nguồn: nso-classic-client/src/automation/TaskTransitionTable.java:8-12

  • Bảng thuộc tính trong game gọi thuộc tính thứ hai là Thủy, còn bảng chỉ số nhân vật gọi dòng kháng tương ứng là Băng; đây là hai nhãn cho cùng một thuộc tính, không phải hai thuộc tính khác nhau.

    Nguồn: nso-classic-client/src/resources/mResources.java:892,940

Hai nhóm cơ chế tính sát thương

  • Sát thương đòn đánh của Kiếm, Kunai và Đao được tính từ ô tiềm năng còn lại, còn của Phi Tiêu, Cung và Quạt được tính từ ô tăng MP.

    Nguồn: nso-classic-server/src/assembly/Admission.java:58-68

  • Chính trò chơi cũng hướng dẫn hai nhóm này theo hai bộ chỉ số khác nhau: Kiếm, Kunai, Đao tăng Sức Mạnh, Thể Lực và Thân Pháp; Cung, Phi Tiêu, Quạt tăng Chakra, Thể Lực và Thân Pháp.

    Nguồn: nso-classic-client/src/resources/mResources.java:659

  • Khi nhập môn, máy chủ đặt sẵn 10 điểm vào ô đúng với nhóm của phái và 5 điểm vào các ô còn lại.

    Nguồn: nso-classic-server/src/assembly/Admission.java:58-68

Nền tảng chơi

  • NSO Classic chơi được trên Windows, macOS và Android; bản cho máy tính đã nhúng sẵn Java 17 nên không cần cài Java thủ công.

    Nguồn: Câu hỏi thường gặp của website; màn hình tải game

  • Bản Android hỗ trợ từ Android 7.0 trở lên, và có thêm đường chạy bằng trình giả lập J2ME cho người muốn tự quản lý môi trường Java.

    Nguồn: Màn hình tải game; nso-web/apps/web/src/screens/download

  • Chưa có bản chính thức cho iOS, do chính sách sandbox của Apple và đặc thù môi trường chạy Java ME.

    Nguồn: Màn hình tải game của website

Nhập môn và tiến trình

  • Để vào trường, nhân vật phải đạt cấp 10 và hoàn thành nhiệm vụ tìm hiểu trường; lúc nhập môn phải tháo vũ khí và chừa ít nhất 2 ô trống trong hành trang.

    Nguồn: nso-classic-server/src/Menu/NpcMenu.java:1353-1357; nso-classic-server/src/Task/Text.java:102

  • Cường hóa thất bại ở nhánh không có bảo hiểm sẽ đưa trang bị về mốc an toàn gần nhất là +4, +8, +12 hoặc +14, chứ không về 0.

    Nguồn: nso-classic-server/src/server/GameSrc.java:60-74,868

  • Trần cường hóa phụ thuộc cấp trang bị: cấp 1 đến 19 là +4, cấp 20 đến 39 là +8, cấp 40 đến 49 là +12, cấp 50 đến 59 là +14, và từ cấp 60 trở lên là +16.

    Nguồn: nso-classic-server/src/assembly/Item.java:66-81

  • Tỉ lệ rơi đồ thông thường do cấu hình máy chủ quyết định, nên không tồn tại bảng phần trăm cố định; điều cố định là điều kiện được xét, khi chênh lệch cấp không quá 10 hoặc khi ở Làng Cổ hay Chiến Trường.

    Nguồn: nso-classic-server/src/assembly/Mob.java:339; nso-web/packages/api/src/routers/game-ops/drop-rate.ts:76

Tài khoản

  • Tài khoản web và nhân vật trong game liên kết qua cùng một lớp đăng nhập: tạo tài khoản trên website rồi dùng đúng thông tin đó để vào game.

    Nguồn: Câu hỏi thường gặp của website

  • Mật khẩu được lưu dưới dạng băm có muối bằng PBKDF2-HMAC-SHA256, mặc định 210.000 vòng lặp, với tham số vòng lặp được ghi kèm trong chính chuỗi băm.

    Nguồn: nso-classic-server/src/io/PasswordSecurity.java:19-33

  • Đường đăng nhập trên website vẫn chấp nhận các bản ghi mật khẩu cũ dạng văn bản thuần: sau khi đối chiếu đúng, hệ thống băm lại và ghi đè ngay trong cùng giao dịch.

    Nguồn: nso-web/packages/api/src/services/password-security.ts:41-45,95; nso-web/packages/api/src/routers/game-account.ts:136-148

  • Bộ xác thực phía máy chủ game chỉ chấp nhận giá trị đã băm và từ chối mọi giá trị khác, nên nhân vật trong game không đăng nhập được bằng mật khẩu chưa băm.

    Nguồn: nso-classic-server/src/io/PasswordSecurity.java:54-56

Bảng sáu phái

Sáu phái NSO Classic theo trường, thuộc tính, vũ khí và ô tiềm năng quyết định sát thương.
PháiTrườngThuộc tínhVũ khíSát thương tính từ
KiếmHirosakiHỏaKiếmÔ tiềm năng còn lại (không phải ô tăng MP)
Phi TiêuHirosakiHỏaPhi tiêuÔ tăng MP
KunaiOokazaThủyDao găm (kunai)Ô tiềm năng còn lại (không phải ô tăng MP)
CungOokazaThủyCungÔ tăng MP
ĐaoHarunaPhongĐaoÔ tiềm năng còn lại (không phải ô tăng MP)
QuạtHarunaPhongQuạtÔ tăng MP

Đọc tiếp

Cẩm nang đi sâu vào cách cộng điểm cho từng phái, cơ chế cày cấp và cường hóa trang bị. Nếu câu hỏi của bạn là về cài đặt hoặc tài khoản, phần giải đáp thường gặp có câu trả lời ngắn gọn hơn.