https://github.com/modular-server-manager/server
web server for managing minecraft forge server, including automatic installation
https://github.com/modular-server-manager/server
flask makefile minecraft minecraft-forge python sass scss typescript web-scapping web-server
Last synced: 3 months ago
JSON representation
web server for managing minecraft forge server, including automatic installation
- Host: GitHub
- URL: https://github.com/modular-server-manager/server
- Owner: modular-server-manager
- License: mit
- Created: 2025-04-27T11:59:37.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2026-01-31T16:16:24.000Z (5 months ago)
- Last Synced: 2026-02-01T04:19:51.188Z (5 months ago)
- Topics: flask, makefile, minecraft, minecraft-forge, python, sass, scss, typescript, web-scapping, web-server
- Language: Python
- Homepage:
- Size: 822 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 3
-
Metadata Files:
- Readme: readme.md
- License: LICENSE
Awesome Lists containing this project
README
# Forge server manager
## Authorization
The default role is `USER`, app-wide and per-server.
### App-wide
- **USER**: Can see all server status.
- **ADMIN**: Can see all server status.
- **OPERATOR**: Everything an admin can do, plus create servers. Can also create other operators and admins.
### Per-server
- **USER**: Can see server status.
- **ADMIN**: Can start/stop server, see logs and change server settings.
- **OPERATOR**: Can delete the server. Can also create admin and operator for this server.
## API endpoints
All endpoints return standard HTTP status codes and error messages in case of failure.
### Authentication
- **POST `/api/login`**
Authenticate a user.
**Access:** Public
**Body:** `{ "username": string, "password": string, "remember": boolean }`
**Returns:** `{ "token": string }` on success.
- **POST `/api/register`**
Register a new user.
**Access:** Public
**Body:** `{ "username": string, "password": string, "remember": boolean }`
**Returns:** `{ "token": string }` on success.
- **POST `/api/logout`**
Logout the current user.
**Access:** User (requires Authorization header)
**Headers:** `Authorization: Bearer `
**Returns:** `{ "message": "Logged out" }`
- **GET `/api/user`**
Get information about the current user.
**Access:** User (requires Authorization header)
**Headers:** `Authorization: Bearer `
**Returns:** `{ "username": string, "access_level": string }`
### Server Management
- **GET `/api/mc_versions`**
List available Minecraft versions.
**Access:** User (requires Authorization header)
**Headers:** `Authorization: Bearer `
**Returns:** `["1.20.1", "1.19.4", ...]`
- **GET `/api/forge_versions/`**
List Forge versions for a given Minecraft version.
**Access:** User (requires Authorization header)
**Headers:** `Authorization: Bearer `
**Returns:**
```json
{
"1.20.1-47.1.0": { "recommended": true, "latest": false, "bugged": false },
...
}
```
- **GET `/api/servers`**
List all configured servers.
**Access:** User (requires Authorization header)
**Headers:** `Authorization: Bearer `
**Returns:** `["server1", "server2", ...]`
- **GET `/api/server/`**
Get information about a specific server.
**Access:** User (requires Authorization header)
**Headers:** `Authorization: Bearer `
**Returns:** `{ ...server info... }`
- **POST `/api/create_server`**
Create a new server.
**Access:** Operator (requires Authorization header)
**Headers:** `Authorization: Bearer `
**Body:** `{ "name": string, "mc_version": string, "forge_version": string }`
**Returns:** `{ "message": "Server Created" }` on success.