Phát triển hệ thống chống DDoS
Thiết kế và viết OneShield từ đầu: nhận diện lưu lượng bất thường, chấm điểm uy tín IP và chặn tấn công trước khi chạm tới máy chủ game.
Tôi xây dựng phần nền của OneMC — lớp mà người chơi không nhìn thấy nhưng cảm nhận được ở mỗi lần vào server: kết nối ổn định, độ trễ thấp và không gục ngã khi bị tấn công. Từ lớp lọc gói tin trong nhân Linux đến hệ thống định tuyến người chơi, gần như toàn bộ đều là mã nguồn tự viết.
Tôi bắt đầu từ chỗ quen thuộc với nhiều người chơi Minecraft Việt Nam: một máy chủ nhỏ, vài người bạn, và những lần sập server không rõ nguyên nhân. Khác biệt là thay vì đổi nhà cung cấp, tôi đi tìm hiểu vì sao nó sập.
Câu trả lời gần như luôn nằm ở hạ tầng: một lớp chống tấn công thuê ngoài hoạt động như hộp đen, một cấu hình mạng không ai kiểm soát, và không có số liệu nào để biết chuyện gì thực sự đang diễn ra. Từ đó tôi chuyển hướng sang tự xây: nếu OneMC muốn ổn định lâu dài, phần lõi phải nằm trong tay chính mình.
Hôm nay tôi phụ trách toàn bộ mảng kỹ thuật của OneMC — thiết kế kiến trúc, viết mã, triển khai, giám sát và xử lý sự cố. Đây không phải công việc phô trương: thước đo thành công là người chơi vào game mà không phải nghĩ đến bất cứ điều gì tôi vừa kể.
Không phải danh sách công nghệ cho đẹp hồ sơ — đây là các mảng đang chạy thật trong sản phẩm.
Thiết kế và viết OneShield từ đầu: nhận diện lưu lượng bất thường, chấm điểm uy tín IP và chặn tấn công trước khi chạm tới máy chủ game.
Thiết kế đường đi của người chơi và phân tách hệ thống sao cho một điểm hỏng không kéo sập toàn bộ.
Nâng cấp không gián đoạn, tự phục hồi sau sự cố và thiết kế để mất một node vẫn không làm rớt người chơi khỏi thế giới.
Viết dịch vụ mạng bằng Go: xử lý đồng thời hàng nghìn kết nối, giao thức nhị phân, và các đường dữ liệu phải đúng ngay từ lần đầu.
Đo trước, sửa sau. Cắt độ trễ ở từng chặng — từ lúc gói tin chạm card mạng đến khi người chơi thấy phản hồi trong game.
Triển khai lặp lại được, cấu hình theo mã, và các quy trình xử lý sự cố không phụ thuộc vào việc ai đó phải nhớ đúng thao tác lúc 3 giờ sáng.
OneMC chạy trên hạ tầng riêng đặt tại Việt Nam, thiết kế để mở rộng và bảo trì mà không làm gián đoạn người chơi. Mục tiêu luôn là độ ổn định: server nên chạy êm đến mức không ai cần nghĩ tới nó.
Mọi thứ quan trọng đều đo được. Lưu lượng, độ trễ và tình trạng hệ thống được giám sát liên tục, nên mỗi quyết định vận hành đều dựa trên số liệu thật thay vì cảm giác — và sự cố thường được xử lý trước khi người chơi kịp nhận ra.
Hệ thống chống DDoS chuyên cho Minecraft, viết từ con số không.
OneShield sinh ra vì các giải pháp sẵn có không hiểu Minecraft. Chúng thấy một luồng TCP và đoán; OneShield đọc đúng giao thức, biết đâu là cái bắt tay hợp lệ, đâu là lần ping danh sách máy chủ, và đâu là lưu lượng chỉ tồn tại để làm nghẽn đường truyền.
Hệ thống hỗ trợ cả Minecraft Java và Bedrock, kèm relay cho Voice Chat, và đang bảo vệ nhiều mạng máy chủ độc lập cùng lúc chứ không riêng OneMC. Người vận hành có bảng điều khiển riêng để xem lưu lượng theo thời gian thực, quản lý danh sách chặn và mở cổng theo từng dịch vụ.
Đây là phần công việc tôi dành nhiều thời gian nhất, và cũng là phần khó nhất: một lỗi trong lớp chống tấn công không chỉ làm sập một máy chủ — nó chặn nhầm người chơi thật, điều còn tệ hơn cả việc bị tấn công.
Thêm điểm vào tại nhiều nhà mạng khác nhau để người chơi ở mọi vùng đều có đường đi ngắn nhất tới máy chủ.
Chuyển từ mở cổng thủ công sang mô hình mặc định đóng, mọi truy cập phải có luật rõ ràng — an toàn hơn và dễ kiểm toán.
Đo riêng từng đoạn đường đi của gói tin để biết chính xác độ trễ phát sinh ở đâu, thay vì chỉ nhìn con số ping tổng.
Đưa trải nghiệm của người chơi Bedrock lên ngang bằng Java: cùng thế giới, cùng mức bảo vệ, cùng độ ổn định.
Hạ tầng tốt là hạ tầng không ai nhắc đến. Khi người chơi bắt đầu nói về server, thường là vì có gì đó đã hỏng. — nguyên tắc tôi dùng để quyết định nên làm gì tiếp theo
Hiểu trước khi sửa. Mỗi sự cố đều được truy tới nguyên nhân gốc rồi mới vá. Một bản vá không hiểu vấn đề chỉ dời lỗi sang chỗ khác.
Đo được thì mới cải thiện được. Không tối ưu dựa trên cảm giác. Nếu không có số liệu chứng minh thay đổi làm mọi thứ tốt lên, thay đổi đó chưa xong.
Tự chủ phần lõi. Những thứ quyết định sống còn của hệ thống thì phải nằm trong tầm kiểm soát và sửa được ngay, không phụ thuộc lịch hỗ trợ của bên thứ ba.
Đơn giản đến mức có thể. Hệ thống phức tạp hỏng theo những cách phức tạp. Mỗi thành phần thêm vào đều phải trả lời được câu hỏi: nếu nó hỏng lúc nửa đêm thì chuyện gì xảy ra?
Mục tiêu gần là đưa OneShield tới mức hoàn thiện đủ để bất kỳ máy chủ Minecraft Việt Nam nào cũng có thể dùng mà không cần đội kỹ thuật riêng — bảo vệ tốt phải là mặc định, không phải đặc quyền của server lớn.
Xa hơn, tôi muốn OneMC trở thành nơi chứng minh rằng một mạng máy chủ Việt Nam có thể vận hành với tiêu chuẩn kỹ thuật ngang các hệ thống quốc tế: không reset map vì sự cố, không mất dữ liệu người chơi, và tồn tại đủ lâu để những gì người chơi xây dựng còn nguyên sau nhiều năm.
Hợp tác kỹ thuật, dùng thử OneShield, hoặc bất cứ câu hỏi nào về hạ tầng.