Skip to content

Repository files navigation

Logo


MMK is a turn-based online multiplayer game with gacha features.

Setup

Prerequisites

To host MMK, you must have the following backend services running on a server:

  1. Supabase, an open-source PostgreSQL development platform.

Important

You must set up your Supabase project in a specific way for MMK to work properly. See the Supabase Setup section to learn more.

  1. MMK Panel, the official Django-based administration panel for MMK.

Supabase Setup

To reproduce MMK's official Supabase setup, do the following:

  1. Import the schema to instantly configure your PostgreSQL server.
  2. In the schema, find the query that creates the trigger trigger_matchmaking and replace the following placeholders: YOUR_SUPABASE_URL with your Supabase instance URL and YOUR_ANON_KEY with your anon key.
  3. Add the cron jobs to your project.
  4. Finally, deploy the necessary edge functions into your Supabase dashboard.

Environment Variables

Create a .env file with the following content:

NUXT_PUBLIC_SUPABASE_URL=
NUXT_PUBLIC_SUPABASE_KEY=
NUXT_PUBLIC_AUTH_EMAIL_DOMAIN=mmk
NUXT_PUBLIC_MMK_PANEL_API=
NUXT_SUPABASE_SECRET_KEY=

Then, fill in the details with the data obtained from your server.

Note

NUXT_PUBLIC_AUTH_EMAIL_DOMAIN can be set to mostly any alphanumerical string; it is used as the "domain" part of the fake email submitted to Supabase Auth when a user registers an account (e.g., "example@mmk"). Additionally, the key NUXT_PUBLIC_MMK_PANEL_API is the API endpoint URL that can be used to retrieve data from your MMK Django server.

Development Server

To run MMK on a development server, follow the instructions:

  1. Install dependencies:
# npm
npm install

# pnpm
pnpm install

# yarn
yarn install

# bun
bun install
  1. Start the development server on http://localhost:3000:
# npm
npm run dev

# pnpm
pnpm dev

# yarn
yarn dev

# bun
bun run dev

Now, the development server should be running. You can freely modify the code and deploy it as you wish, as long as you follow the guidelines outlined in the license.

Contributing

Reporting Issues

To report an issue or bug, visit MMK's issue tracker on GitHub.

Translating the Project

You can contribute by adding translations for strings in the application. See TRANSLATING.md for more information.

Pull Requests

To push your features or fixes into this official repository:

  1. Fork the repository.
  2. Create a feature branch (git checkout -b feature/my-feature) or a fix branch (git checkout -b fix/my-fix).
  3. Commit your changes (git commit -m "feat: add new feature"). Please follow the Conventional Commits guideline when doing so!
  4. Push the branch (git push origin feature/my-feature).
  5. Open a pull request with contrib as the base branch. Make sure to create a detailed title and description of your change.

Please follow the GitHub flow when submitting a pull request.

License

MMK is free software distributed under the GNU General Public License, version 3.0 or later (GPL-3.0+).

You are free to use, modify, and share the software under the terms of the GPL. For full details, see the GNU General Public License v3.0.

About

A turn-based online multiplayer game with gacha features.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Contributors

Languages