This is a foundational template for a 3D multiplayer game, developed in Godot Engine 4.6. It offers a starting structure for your next multiplayer project, including essential functionalities for players to interact and communicate in real-time.
This template is also available on the Godot Asset Library and Godot Asset Store.
This template provides everything you need to kickstart your multiplayer game development:
- Network System: A base for managing client-server connections, allowing multiple players to connect and interact within the same environment.
- Player Management: Easily add multiple players to the game, controlling their interactions and movement in a 3D space.
- Real-Time Synchronization: Player movements and animations are smoothly synchronized, ensuring a consistent experience for everyone.
- Player Name Displayed: Each player's nickname is shown above their character for easy identification.
- Player Skin Selection: Players can choose from four skin options (red, green, blue, or yellow) to personalize their avatars.
- Global Multiplayer Chat: An integrated chat system allows players to communicate in real-time with everyone in the game.
- Multiplayer Inventory System: Server-authoritative inventory management with 20-slot grid layout, real-time drag-and-drop functionality.
Follow these simple steps to get the template up and running:
- Clone or Download: Obtain the repository by cloning it via Git or downloading the ZIP file.
- Open in Godot Engine: Load the project in your Godot Engine installation.
- Execute: Press F5 or click
Run Projectin the Godot editor.
To test the multiplayer functionality locally:
Go to Debug > Customize Run Instances, then enable Enable Multiple Instances and set the number of instances you want to run simultaneously.
To run the project as a dedicated server (headless mode), use the provided script:
./run_headless_server.shEnsure the script has execution permissions (chmod +x run_headless_server.sh) and that the godot binary is in your system PATH.
- W A S D to move.
- Shift to run.
- Space to jump.
- Esc to quit.
- Ctrl to hide/show chat.
- B to toggle inventory.
- F1 to add random test item (debug).
- F2 to print inventory contents (debug).
If you want to contribute to this project, please refer to our Contributing Guidelines.