OpenDigimonMastersOnline is an open-source server implementation for the popular MMORPG Digimon Masters Online. This project provides a complete server infrastructure including authentication, character management, game world, and administrative tools.
- Complete Server Infrastructure: Authentication, Character, Game, and Admin servers
- Web-based Administration Panel: Modern Blazor-based admin interface
- Database Management: Entity Framework Core with SQL Server support
- Real-time Game World: Multi-threaded game server with event handling
- Player Management: Character creation, progression, and inventory systems
- Digimon System: Complete Digimon management, evolution, and battle mechanics
- Event System: Configurable in-game events and raids
- Security: Hash-based authentication and anti-cheat measures
The project follows a clean architecture pattern with multiple layers:
├── Distribution Layer (Servers)
│ ├── Authentication Server (Port 7606)
│ ├── Character Server (Port 7050)
│ ├── Game Server (Port 7607)
│ ├── Admin Web Server (Port 5001/5002)
│ └── Gateway Server (Port 8074)
├── Application Layer (Business Logic)
├── Domain Layer (Core Models)
└── Infrastructure Layer (Database & External Services)
Before setting up ODMO, ensure you have the following installed:
- .NET 8.0 SDK or later
- SQL Server (Express, Developer, or Standard)
- Visual Studio 2022 or Visual Studio Code (recommended)
- Windows 10/11 or Linux (with SQL Server support)
# Check .NET SDK version
dotnet --version
# Should show 8.x.x or later
# Check SQL Server connectivity
sqlcmd -S "localhost\SQLEXPRESS" -E -Q "SELECT @@VERSION"git clone https://github.com/your-repo/OpenDigimonMastersOnline.git
cd OpenDigimonMastersOnline- Copy the environment template:
copy .env.example .env- Edit
.envwith your database settings:
# Windows Authentication (Recommended for development)
DMOX_CONNECTION_STRING=Server=localhost\SQLEXPRESS;Database=DMOX;Integrated Security=true;TrustServerCertificate=True
# Or SQL Server Authentication
# DMOX_CONNECTION_STRING=Server=localhost\SQLEXPRESS;Database=DMOX;User Id=sa;Password=YOUR_PASSWORD;TrustServerCertificate=Truedotnet user-secrets set "ConnectionStrings:Digimon" "Server=localhost\SQLEXPRESS;Database=DMOX;Integrated Security=true;TrustServerCertificate=True"# Clean and restore packages
dotnet clean
dotnet restore
# Build the entire solution
dotnet build --configuration ReleaseThe database will be automatically created and migrated when you start the Authentication Server for the first time. Alternatively, you can run migrations manually:
# Navigate to any project with DatabaseContext
cd "src\Source\Distribution\ODMO.Account.Host"
# Run migrations
dotnet ef database update.\StartAllServers.ps1.\StartServers-Separate Windows.ps1.\ServerManager.ps1.\StartWebServer.ps1- Server Address:
localhostor127.0.0.1 - Port:
7607
- Username:
Tenshimaru - Password:
123456
- URL:
https://localhost:5001orhttps://localhost:5002 - Swagger API:
https://localhost:5001/swagger
The project uses Entity Framework Core with SQL Server and includes:
- Account Management: User accounts, authentication, and security
- Character System: Player characters, stats, and progression
- Digimon System: Digimon data, evolution trees, and abilities
- Game World: Maps, NPCs, items, and quests
- Configuration: Server settings, events, and game parameters
| Server | Default Port | Purpose |
|---|---|---|
| Authentication | 7606 | Player login and account management |
| Character | 7050 | Character selection and creation |
| Game | 7607 | Main game world and gameplay |
| Admin Web | 5001/5002 | Web-based administration |
| Gateway | 8074 | Server communication gateway |
Key environment variables for configuration:
# Database
DMOX_CONNECTION_STRING=<your_connection_string>
# Game Server
GAME_SERVER_ADDRESS=0.0.0.0 # Server binding address
GAME_SERVER_PORT=7607
GAME_SERVER_PUBLIC_ADDRESS=127.0.0.1 # Client connection address
# Authentication Server
AUTH_SERVER_ADDRESS=0.0.0.0 # Server binding address
AUTH_SERVER_PORT=7606
# Character Server
CHARACTER_SERVER_ADDRESS=0.0.0.0 # Server binding address
CHARACTER_SERVER_PORT=7608OpenDigimonMastersOnline/
├── src/Source/
│ ├── Distribution/ # Server applications
│ │ ├── ODMO.Account.Host/
│ │ ├── ODMO.Character.Host/
│ │ ├── ODMO.Game.Host/
│ │ ├── ODMO.Admin/
│ │ └── ODMO.Gateway/
│ ├── Application/ # Business logic layer
│ ├── Domain/ # Core domain models
│ └── Infra/ # Infrastructure layer
├── docs/ # Documentation
├── logs/ # Server logs
└── scripts/ # Utility scripts
# Debug build
dotnet build --configuration Debug
# Release build
dotnet build --configuration Release
# Clean build
dotnet clean && dotnet restore && dotnet build# Run all tests
dotnet test
# Run tests with coverage
dotnet test --collect:"XPlat Code Coverage"# Clean and rebuild
dotnet clean
dotnet restore
dotnet build- Verify SQL Server is running
- Check connection string in
.envfile - Ensure database permissions are correct
- Test connection:
sqlcmd -S "localhost\SQLEXPRESS" -E -Q "SELECT 1"
- Check if ports are available (7606-7608, 5001-5002)
- Verify all executables exist in
bin/Release/net8.0/ - Check logs in
logs/directory - Ensure environment variables are loaded
- Verify game server is running on port 7607
- Check firewall settings
- Ensure client is configured to connect to correct IP/port
Server logs are stored in the logs/ directory:
logs/Account/- Authentication server logslogs/Character/- Character server logslogs/Game/- Game server logslogs/Debug/- Debug informationlogs/Error/- Error logs
We welcome contributions! Please see our Contributing Guidelines for details.
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the GNU General Public License v3.0 - see the LICENSE.txt file for details.
- Original Digimon Masters Online developers
- The open-source gaming community
- Contributors and testers
- Discord: Join our Discord
- Issues: GitHub Issues
- Documentation: Wiki
Note: This is an unofficial open-source implementation. All Digimon-related trademarks and copyrights belong to their respective owners.