This project is a clone of Mu Online built using .NET 9.0 and MonoGame. It aims to support Windows, Android, and iOS platforms.
Before you begin, ensure you have the following installed:
- .NET 9.0 SDK: Download here
- (For Android Development):
- Android SDK: Required for building the Android application.
- Java Development Kit (JDK): Version 11 or later recommended (as specified in the example command).
- (For iOS Development):
- macOS with Xcode: Required for building and running the iOS application.
- Git: For cloning the repository.
-
Clone the Repository:
git clone <your-repository-url> cd <repository-directory>
-
Download Game Data: This project requires original Mu Online game data. Download it from the official source: Download MU Red 1.20.61 Full Data
-
Configure Data Path:
- Extract the downloaded
Data.zipfile. - Open the
Client.Main/Constants.csfile in the project. - Locate the
DataPathvariable:// Example: public static string DataPath = @"C:\Games\MU_Red_1_20_61_Full\Data";
- Crucially, update this path to the exact location where you extracted the
Datafolder from the downloaded zip file.
- Extract the downloaded
-
Restore .NET Tools: The project uses .NET tools (like the MonoGame Content Builder). Restore them by running:
dotnet tool restore
Use the following commands to build the project for each platform. Builds will typically be placed in the bin/Release/net9.0-<platform>/publish/ directory within the respective platform project folder (e.g., MuWin/bin/Release/...).
dotnet publish ./MuWin/MuWin.csproj -f net9.0-windows -c ReleaseThis creates a self-contained executable in the publish directory.
# Replace paths with your actual SDK/JDK locations!
dotnet publish ./MuAndroid/MuAndroid.csproj -f net9.0-android -c Release -p:AndroidSdkDirectory="C:\path\to\your\Android\Sdk" -p:JavaSdkDirectory="C:\path\to\your\jdk-11" -p:AcceptAndroidSdkLicenses=True- This command builds the release APK.
- You must replace
"C:\path\to\your\Android\Sdk"and"C:\path\to\your\jdk-11"with the correct paths on your system. -p:AcceptAndroidSdkLicenses=Trueattempts to accept licenses automatically; you might need to accept them manually via Android Studio or SDK manager tools if this fails.- The output APK will be suitable for deployment to an Android device or emulator.
dotnet publish ./MuIos/MuIos.csproj -f net9.0-ios -c Release- Requires a macOS machine with Xcode installed and properly configured signing certificates.
Use these commands to run the project directly for development and testing.
dotnet run --project ./MuWin/MuWin.csproj -f net9.0-windows -c DebugRunning directly via dotnet run on Android is less common for MonoGame projects. The typical workflow is:
- Build the APK using the
dotnet publishcommand (see Building section). - Deploy the APK to an Android emulator or a physical device using
adb(Android Debug Bridge) or through your IDE (like Visual Studio).- Example using adb:
adb install path/to/your/app.apk
- Example using adb:
- Launch the app from the emulator/device.
# Ensure you are on a macOS machine with Xcode
dotnet run --project ./MuIos/MuIos.csproj -f net9.0-ios -c Debug- This will typically launch the app on a connected device or simulator if configured correctly in Xcode.
Feel free to open an issue if you encounter any problems during setup or building.