Restructured README.md

This commit is contained in:
Exynox 2024-12-07 20:29:45 +02:00
parent b7cf9d999f
commit 4ca9da3df1

View File

@ -8,32 +8,10 @@ For-profit usage of this material is certainly illegal without the proper
licensing agreements and is hereby discouraged (not legal advice). Even so, the
nature of this project is HIGHLY EXPERIMENTAL - bugs are to be expected for now.
## Compatibility matrix
| **Operating system** | amd64 | i386 | arm64 | armv7 | Notes |
|------------------------|-------|------|-------|-------|------------------------------------------------------------|
| **Debian 11** | ⚠️ | ❔ | ❔ | ❌ | Requires `EVENT_NOEPOLL=1` environment variable to be set. |
| **Debian 12** | ✅ | ❔ | ❔ | ❌ | |
| **Ubuntu 22.04.5 LTS** | ✅ | N/A | ❔ | ❌ | |
| **Ubuntu 24.04.1 LTS** | ❔ | N/A | ❔ | ❌ | |
| **Docker on WSL** | ✅ | N/A | ❔ | N/A | |
| **Docker on macOS** | ❔ | N/A | ✅ | N/A | |
### What about Windows, FreeBSD? macOS?
As described below, the deployment system for The Old Metin2 Project is based
on Docker and Docker Compose. Since support for native Windows, FreeBSD or
macOS Docker containers is experimental at best and unavailable at worst,
the auto-magical deployment system in this repository is not compatible with
these OSs.
Compiling [the server](https://git.old-metin2.com/metin2/server)
binary and running it on these systems should be possible, but you have to come
up with your own deployment strategy, be it shell scripts, a custom watchdog
program, or simply manually starting the binaries. Moreover, this is currently
outside the scope of the project and unsupported for the time being.
## Quick start guide
The deployment strategy for this project is based around Docker Compose.
The deployment strategy for this project is based around Docker Compose. Make
sure that you have a compatible Linux + Docker environment - for more
information, check out the [compatibility matrix](https://git.old-metin2.com/metin2/deploy#compatibility-matrix).
### Architecture description
The MySQL database is currently pinned on version 5.5. We're using the
@ -109,7 +87,7 @@ Should you want to stop the server, simply bring down the Docker Compose stack:
docker compose down
```
### Start only some services
### Only start some services
This deployment environment can also be used for development purposes. If you
need a database and website, but want to run the server in some other way (for
example, in an IDE), you can just bring up only the services you need:
@ -118,6 +96,30 @@ example, in an IDE), you can just bring up only the services you need:
docker compose up -d mysql web
```
## Compatibility matrix
| **Operating system** | amd64 | i386 | arm64 | armv7 | Notes |
|------------------------|-------|------|-------|-------|------------------------------------------------------------|
| **Debian 11** | ⚠️ | ❔ | ❔ | ❌ | Requires `EVENT_NOEPOLL=1` environment variable to be set. |
| **Debian 12** | ✅ | ❔ | ❔ | ❌ | |
| **Ubuntu 22.04.5 LTS** | ✅ | N/A | ❔ | ❌ | |
| **Ubuntu 24.04.1 LTS** | ❔ | N/A | ❔ | ❌ | |
| **Docker on WSL** | ✅ | N/A | ❔ | N/A | |
| **Docker on macOS** | ❔ | N/A | ✅ | N/A | |
### What about Windows, FreeBSD? macOS?
As described above, the deployment system for The Old Metin2 Project is based
on Docker and Docker Compose. Since support for native Windows, FreeBSD or
macOS Docker containers is experimental at best and unavailable at worst,
the auto-magical deployment system in this repository is not compatible with
these OSs.
Compiling [the server](https://git.old-metin2.com/metin2/server)
binary and running it on these systems should be possible, but you have to come
up with your own deployment strategy, be it shell scripts, a custom watchdog
program, or simply manually starting the binaries. Moreover, this is currently
outside the scope of the project and unsupported for the time being.
## Help!
### `epoll_wait` issues