Ghi chú bàn giao
Hướng dẫn cài đặt
Avatar 2D
1. Mô tả sản phẩm chuẩn SEOSource Server Game Avatar 2D Java MySQL Full DataSource Server Game Avatar 2D là bộ mã nguồn máy chủ game online được xây dựng bằng J...
Xem mô tả sản phẩmXem trước
1. Mô tả sản phẩm chuẩn SEO
Source Server Game Avatar 2D là bộ mã nguồn máy chủ game online được xây dựng bằng Java Socket kết hợp MySQL, phù hợp cho người muốn nghiên cứu, phát triển hoặc vận hành server game Avatar 2D riêng. Source đã có sẵn cấu trúc server, database mẫu, dữ liệu vật phẩm, NPC, shop, tài nguyên hình ảnh HD/Medium và file .jar có thể chạy trực tiếp.
Bộ source phù hợp cho lập trình viên, chủ server game hoặc người đang tìm hiểu cách xây dựng hệ thống game online dạng socket thời gian thực. Source có cấu trúc rõ ràng, dễ chỉnh sửa cấu hình port, database, thông báo server, tên thành phố và tài nguyên game.
Server Java Socket chạy qua port cấu hình, mặc định: 19128.
Có file chạy sẵn: avatar-server.jar.
Có class main: avatar.server.Avatar.
Tự động nhận kết nối client qua ServerSocket.
Hỗ trợ xử lý session người chơi, gửi/nhận message theo command.
Có cơ chế handshake và mã hóa dữ liệu cơ bản giữa client và server.
Đăng nhập tài khoản từ database.
Tạo nhân vật mới.
Lưu thông tin người chơi trong bảng users và players.
Quản lý xu, lượng, lượng khóa, xèng.
Quản lý giới tính, level, kinh nghiệm, trạng thái online.
Hỗ trợ đổi mật khẩu.
Tự reset trạng thái online khi server khởi động.
Load map từ dữ liệu server.
Hỗ trợ nhiều khu vực/zone trong cùng một map.
Người chơi có thể vào khu, di chuyển, chat trong map.
Có quản lý NPC theo map.
Có map offline/pet/premium trong source.
Load vật phẩm từ database bảng items.
Quản lý item đang mặc, item trong rương, item hiển thị.
Có dữ liệu hình ảnh item, part, icon.
Hỗ trợ mua item trong shop.
Hỗ trợ dùng item, tháo item, xóa item.
Có hệ thống thời hạn vật phẩm.
Mua item trang trí nhà.
Sắp xếp vật phẩm trong nhà.
Xóa vật phẩm nhà.
Tạo/chỉnh map nhà.
Có dữ liệu house_item, house_player_item, house_buy trong logic xử lý.
Có service riêng cho farm.
Load dữ liệu cây, đồ ăn, hình ảnh farm.
Có command xử lý vào farm, lấy inventory, lấy dữ liệu hình ảnh farm.
Load NPC từ bảng npc.
NPC có tên, vị trí, map, item mặc.
Có xử lý menu, giao tiếp NPC, action NPC.
Có class NpcHandler, MenuFunction.
Có hệ thống DialLucky.
Hỗ trợ 3 loại quay: xu, lượng, miễn phí.
Dữ liệu phần thưởng nằm trong bảng dial_lucky.
Database có bảng giftcode.
Có bảng giftcode_use.
Có bảng giaodich_logs.
Phù hợp để phát triển thêm giftcode, giao dịch, nạp tiền, lịch sử nhận quà.
Có thư mục tài nguyên:
res/hd/
res/medium/
res/data/
Có dữ liệu .dat, hình ảnh .png, item, part, map, effect.
Có cấu hình version tài nguyên trong config.properties.
Ngôn ngữ: Java
Phiên bản build: Java 11, manifest build bằng JDK 17
Database: MySQL
Kết nối database: HikariCP
Thư viện:
MySQL Connector/J
HikariCP
json-simple
Log4j
Commons DbUtils
Commons IO
Jackson
Lombok
FULLSOURCEAVATAR/
├── avatar-server.jar
├── config.properties
├── database.properties
├── avatar.conf
├── database/
│ └── avatar.sql
├── res/
│ ├── hd/
│ ├── medium/
│ └── data/
├── src/main/java/avatar/
│ ├── server/
│ ├── network/
│ ├── message/
│ ├── service/
│ ├── model/
│ ├── play/
│ ├── item/
│ ├── db/
│ └── lucky/
└── pom.xml
Cần cài:
Java JDK 11 trở lên, khuyến nghị JDK 17
MySQL 5.7 / MySQL 8 / MariaDB
Navicat hoặc phpMyAdmin để import database
VPS/PC Windows hoặc Linux
Kiểm tra Java:
java -version
Tạo database tên avatar:
CREATE DATABASE avatar CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
Import file:
mysql -u root -p avatar < database/avatar.sql
Hoặc dùng Navicat/phpMyAdmin import file:
database/avatar.sql
Mở file:
database.properties
Cấu hình mẫu:
driver=com.mysql.cj.jdbc.Driver
host=127.0.0.1
port=3306
dbname=avatar
username=root
password=
max_connection=10
min_connection=5
Lưu ý quan trọng: trong code hiện tại đang đọc sai key passeword thay vì password. Nếu database có mật khẩu, nên sửa trong file:
src/main/java/avatar/db/DbManager.java
Tìm dòng:
this.passeword = props.getProperty("passeword");
Sửa thành:
this.passeword = props.getProperty("password");
Hoặc cách nhanh hơn, thêm dòng này vào database.properties:
passeword=mat_khau_mysql_cua_ban
Nếu MySQL không có mật khẩu thì có thể để trống.
Mở file:
config.properties
Cấu hình mẫu:
server.port=19128
server.active=true
server.debug=false
game.notify=Chào mọi người
game.city.name=Kitakeyos
game.big.image.version=30314
game.part.version=15294
game.big.item.image.version=17343
game.itemtype.version=2
game.item.version=1
game.object.version=1
game.resources.hd.path=res/hd/
game.resources.medium.path=res/medium/
Ý nghĩa:
server.port: port server game
server.active: bật/tắt server
server.debug: bật log debug
game.notify: thông báo khi vào game
game.city.name: tên thành phố/server
game.resources.hd.path: đường dẫn tài nguyên HD
game.resources.medium.path: đường dẫn tài nguyên thường
Port mặc định:
19128
Linux:
sudo ufw allow 19128/tcp
sudo ufw reload
Windows Server: mở port 19128 TCP trong Windows Firewall.
Di chuyển vào thư mục source:
cd FULLSOURCEAVATAR
Chạy bằng file jar có sẵn:
java -jar avatar-server.jar
Khuyến nghị chạy với RAM giới hạn:
java -Xms512m -Xmx2g -jar avatar-server.jar
Chạy nền trên Linux:
nohup java -Xms512m -Xmx2g -jar avatar-server.jar > logs/server.out 2>&1 &
Nếu chạy thành công sẽ thấy log dạng:
Start socket port = 19128
Start server Success !
Source có pom.xml, có thể mở bằng IntelliJ IDEA, NetBeans hoặc VS Code Java.
Class chạy chính:
avatar.server.Avatar
Nếu dùng IDE:
Mở thư mục FULLSOURCEAVATAR.
Chọn JDK 11 hoặc JDK 17.
Import Maven project.
Chạy class avatar.server.Avatar.
Nếu muốn build bằng Maven:
mvn clean package
Lưu ý: pom.xml hiện chưa có plugin tạo fat jar đầy đủ. File chạy sẵn avatar-server.jar ở thư mục gốc đã bao gồm dependency. Nếu build lại bằng Maven mặc định, jar trong target/ có thể chưa chạy độc lập nếu thiếu thư viện.
Hướng dẫn cài đặt
Có hỗ trợ cài đặt. Sản phẩm không công khai demo, hãy xem gallery và mô tả chi tiết trước khi mua.
Thông tin sản phẩm được chuẩn hóa gồm mã source, giá bán, ảnh preview, demo nếu có, lượt xem và lượt mua để khách hàng kiểm tra trước khi thanh toán.
Source bàn giao theo mô tả sản phẩm, ghi chú kỹ thuật, database hoặc tài liệu liên quan nếu admin đã cấu hình trong phần bàn giao.
Khách hàng nên có kiến thức cơ bản về môi trường server, database và cấu hình ứng dụng, hoặc sử dụng gói hỗ trợ setup ban đầu khi cần.
Phù hợp với khách hàng muốn học code, thử nghiệm vận hành, phát triển thêm tính năng hoặc triển khai dự án riêng theo năng lực kỹ thuật hiện có.
Source yêu cầu VPS hoặc máy chủ phù hợp. Khách hàng nên có kiến thức cơ bản về Java/MySQL hoặc sử dụng gói hỗ trợ setup. HUONG.STORE không cam kết doanh thu sau khi triển khai và không hỗ trợ các hành vi vi phạm pháp luật hoặc xâm phạm hệ thống bên thứ ba.
HUONG.STORE hỗ trợ kiểm tra lỗi ban đầu trong phạm vi file source được bàn giao. Không bảo hành lỗi phát sinh do khách tự chỉnh sửa code, thay đổi môi trường server không tương thích hoặc sử dụng sai hướng dẫn.
Sản phẩm này chưa công khai demo. Vui lòng xem ảnh preview hoặc liên hệ HUONG.STORE để được tư vấn trước khi mua.
Thông tin bàn giao được lưu trong tài khoản mua hàng, bao gồm link source, mật khẩu hoặc ghi chú kỹ thuật nếu có.
Có hỗ trợ setup ban đầu theo phạm vi chính sách kỹ thuật và tình trạng từng sản phẩm. Hãy liên hệ trước nếu cần xác nhận môi trường triển khai.
Đơn mua được lưu trong tài khoản để theo dõi, nhận email bàn giao và tra cứu lại khi cần.
Dùng số dư đã nạp và áp dụng mã giảm giá khi có chương trình phù hợp cho gói source.
Link source, mật khẩu và ghi chú bàn giao sẽ đi kèm đơn mua. Phần hỗ trợ triển khai bám theo cấu hình admin.
Blog
Nếu bạn từng vận hành server Ninja School Online (NSO), bạn sẽ hiểu một vấn đề cực lớn: 👉 server vắng = người chơi mới rời đi ngay lập tức
Đọc bài viết