This project is a server emulator for the classic game GunBound, focusing on the Thor's Hammer version with Ex-Item and Power User. Developed in Java, it utilizes the high-performance Netty networking framework to handle asynchronous communication with the game clients.
The goal is to recreate the original server experience, allowing players to connect, join rooms, and participate in matches. The project is under active development and open to community contributions.
✅ Broker Server (GunBoundBrokerServer): Lists the available game servers to clients.
✅ Game Server (GunBoundGameServer): Where all the in-game logic takes place.
✅ Authentication and Login: Handles login and password validation with both static and dynamic encryption.
✅ Lobby (Channels): Manages multiple channels, player entry/exit, and lobby chat.
✅ Room Management: Creation, listing (with pagination), and joining of game rooms.
✅ Room Configuration: Change map, title, capacity, teams.
✅ Basic Gameplay: Match start and real-time communication between players through packet 0x4500 (tunnel fully function but not optimized).
✅ Avatar Shop: Basic logic for purchasing and viewing items.
✅ Data Persistence: Connects to a MariaDB/MySQL database to store user, avatar, and item data (Not persists GP and event points).
- Buddy System: Add support for friend requests, friend list management, and related functionalities.
Want to help with this feature? join in!
- Player levels are not displayed in the room detail view.
Have you encountered this or other bugs? Feel free to open an issue or contribute with a fix
- Java 11: Main programming language.
- Netty: Asynchronous, high-performance networking.
- Maven: Build and dependency management.
- MariaDB/MySQL: Database management for server state and player data.
- HikariCP: High-performance JDBC connection pool.
- Logback: Logging and debug framework.
Make sure you have these installed:
- JDK 11 or higher
- Apache Maven 3.8 or higher
- MariaDB 10.4 or higher (MySQL-compatible)
- GunBound: Thor's Hammer game client (GIS v376 or GBS v404)
-
Database Create a new schema in your MariaDB/MySQL (e.g., gbth). Import the .sql file with the necessary table structure (user, game, chest, menu, etc).
-
Properties File
Go to src/main/resources/.
Edit db.properties with your database credentials:
user=your_db_user
password=your_db_password
dburl=jdbc:mariadb://localhost:3306/gbth
useSSL=false
- Server IP Configuration
Open
src/main/java/br/com/gunbound/emulator/GunBoundStarter.java. Change the SERVER_HOST constant to your server IP:
public class GunBoundStarter {
// ...
private static final String SERVER_HOST = "127.0.0.1"; // Change this IP
// ...
}
- Use
0.0.0.0to listen on all interfaces, or127.0.0.1for localhost/testing.
Open a terminal in the project's root.
Compile the project:
mvn clean install
Run the server (ensure your database is up and configured):
mvn exec:java -Dexec.mainClass="br.com.gunbound.emulator.GunBoundStarter"
If configured correctly, you'll see Broker and Game Server startup messages in the console.
Connect using your GunBound: Thor’s Hammer game client!
│ br.com.gunbound.emulator // Root package
├── db // Database connection management (e.g., DatabaseManager)
├── handlers // Netty handlers (GunBoundBrokerServerHandler, GunBoundGameHandler)
├── lobby // Lobby/channel management
├── model // Data entities (DTOs), DAOs, sessions
├── packets // Packet readers/writers, protocol definitions
├── room // Game room logic (GameRoom, RoomManager)
└── utils // Utilities, including encryption (GunBoundCipher)
Contributions are very welcome!
Fork this repository.
Create a new branch for your feature:
git checkout -b feature/NewFeature
Make your changes and commit them:
git commit -m 'Add NewFeature'
Push your branch:
git push origin feature/NewFeature
Open a Pull Request!
[Rizzo - Lib THv404] GunBound Thor's Hammer Lib - By Rizzo.
Thanks a lot Rizzo!
This project is the result of the passion and efforts of:
- KyLL3R - Lead Developer.
- ChoVinisTa - Co-Developer, Collaborator.
- Tiddus (Gui) - Collaborator, Valuable support, legacy files.
- CarlosX - Reference code, packet structures, and invaluable discussions (Thnx bro).
- Garsia - Reference code and packet structure insights.
- Jglim (GitHub) - Code references and documentation (thank you for your outstanding work!).
- JoBaS (Bisoru_eX) - A friend that GunBound gave me, and your friendship made a real difference in my life. You were always kind, with a heart full of goodness. Now you're in the Lord's dwelling. Thank you for everything, my friend. I'll carry you in my heart forever. I miss you!
[JGlim - Emulator] GunBound Thor's Hammer Emulator - By Jglim.
[CarlosX - Broker] GunBound WC Broker - By CarlosX.
This project is licensed under the MIT License. See LICENSE.txt for details.
The GunBound game client and all related artwork, trademarks, and assets are the exclusive property of Softnyx. This server emulator is a fan-made, non-commercial project developed solely for educational and archival purposes.


