{"id":25719089,"url":"https://github.com/suiramdev/42qsmp","last_synced_at":"2025-08-02T16:06:13.450Z","repository":{"id":193261004,"uuid":"688387445","full_name":"suiramdev/42QSMP","owner":"suiramdev","description":"🚀 A mono repository containing the apps for 42 QSMP","archived":false,"fork":false,"pushed_at":"2024-08-09T16:18:26.000Z","size":342,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-08-09T18:01:58.250Z","etag":null,"topics":["42","42born2code","42madrid","42paris","42school","42seoul","qsmp","smp"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/suiramdev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-09-07T08:42:22.000Z","updated_at":"2024-08-09T16:18:30.000Z","dependencies_parsed_at":null,"dependency_job_id":"a51e2fdb-7ea9-474a-9021-b12d5fe8e274","html_url":"https://github.com/suiramdev/42QSMP","commit_stats":null,"previous_names":["suiramdev/42qsmp"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/suiramdev%2F42QSMP","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/suiramdev%2F42QSMP/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/suiramdev%2F42QSMP/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/suiramdev%2F42QSMP/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/suiramdev","download_url":"https://codeload.github.com/suiramdev/42QSMP/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240704858,"owners_count":19844366,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["42","42born2code","42madrid","42paris","42school","42seoul","qsmp","smp"],"created_at":"2025-02-25T16:33:05.880Z","updated_at":"2025-02-25T16:33:06.523Z","avatar_url":"https://github.com/suiramdev.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 42QSMP\n\n**42QSMP** is a versatile mono repository project that uses **Turborepo** to manage a bot and a web application to whitelist users on both Discord and a Minecraft server using their student login. Originally designed to support the student-run Minecraft survival multiplayer server at School 42, this project simplifies user access management for a seamless gaming experience.\n\n## Table of Contents\n\n- [Introduction](#42qsmp---minecraft-server-whitelist-manager)\n- [Setup](#setup)\n  - [Using Docker](#using-docker)\n  - [Without Docker](#without-docker)\n- [Usage](#usage)\n- [Contributing](#contributing)\n- [License](#license)\n\n## Setup\n\n1. Create a `.env` file in the project's root directory and add the following required environment variables:\n\n| Environment Variable    | Description                                        | Default Value            |\n|-------------------------|----------------------------------------------------|--------------------------|\n| FORTY_TWO_CLIENT_ID     | 42's application client ID.                        |                          |\n| FORTY_TWO_CLIENT_SECRET | 42's application client secret.                    |                          |\n| DISCORD_TOKEN           | Token for your Discord application.                |                          |\n| NEXTAUTH_SECRET         | Secret key used for NextAuth.js authentication.    |                          |\n| SITE_URL                | The URL of your website.                           | http://localhost:3000    |\n| RCON_HOST               | Hostname or IP address for RCON.                   | localhost                |\n| RCON_PORT               | Port number for RCON.                              | 25575                    |\n| RCON_PASSWORD           | Password for RCON authentication.                  |                          |\n\nPlease note that some of these variables may not have default values, and you should set them with appropriate values for your specific application.\n\n### Using Docker\n\n2. Run the following command to start the Docker containers:\n\n    ```sh\n    docker compose up (-d)\n    ```\n\n### Without Docker\n\n2. Install project dependencies by running the following command in the project root directory:\n\n    ```sh\n    pnpm install (--prod)\n    ```\n\n3. Build and start the project with one of the following commands:\n\n    ```sh\n    pnpm db:push\n    pnpm db:generate\n    ```\n\n    - Production mode:\n\n        ```sh\n        pnpm build\n        pnpm start\n        ```\n\n    - Development mode:\n\n        ```sh\n        pnpm dev\n        ```\n\n## Usage\n\nA `/setup auth` command is available via the bot, run it in the channel where you want to set up the authentication system and specify the role to be given to the authorised users.\nAlternatively, you can redirect your users to the `/auth` page of the website, where they can whitelist themselves with 42.\n\n## Contributing\n\nContributions to the **42QSMP** project are welcome! We don't have any specific guidelines, but please keep your code clean according to our styling preferences.\n\n## License\n\nThis project is licensed under the [MIT License](LICENSE). Feel free to use, modify, and distribute it as needed.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsuiramdev%2F42qsmp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsuiramdev%2F42qsmp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsuiramdev%2F42qsmp/lists"}