diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 670d568..84f55eb 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -54,18 +54,18 @@ jobs:
- name: Build
if: matrix.platform == 'windows-latest'
- run: cd ./web && pnpm run build && cd ../ && cargo build --release
+ run: cd ./web && pnpm run build && cd .. && cargo build --release
- name: Upload
uses: actions/upload-artifact@v4
if: matrix.platform != 'windows-latest'
with:
name: omcp-${{ matrix.platform }}
- path: backend/target/release/open_mc_panel
+ path: target/release/open_mc_panel
- name: Upload (Windows)
uses: actions/upload-artifact@v4
if: matrix.platform == 'windows-latest'
with:
name: omcp-${{ matrix.platform }}
- path: backend/target/release/open_mc_panel.exe
\ No newline at end of file
+ path: target/release/open_mc_panel.exe
\ No newline at end of file
diff --git a/Cargo.toml b/Cargo.toml
index a45d1d8..d0d7792 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -6,6 +6,7 @@ edition = "2021"
[profile.release]
lto = true
strip = "debuginfo"
+opt-level = "s"
# Linker options
[target.x86_64-unknown-linux-gnu]
diff --git a/README.md b/README.md
index 3fedd41..5a857a9 100644
--- a/README.md
+++ b/README.md
@@ -1,18 +1,114 @@
OpenMCPanel
- Deploy, manage, and monitor Minecraft servers using a web-based UI.
-# Get Started
+
+
+
+
+ Create, manage, and monitor one, few, or many Minecraft servers using a web-based UI.
+
+ https://discord.gg/agQ9mRdHMZ
+
-TODO: write docs on this
+# Table of Contents
+
+- [Features](#features)
+- [Get Started](#get-started)
+ - [Prerequisites](#prerequisites)
+ - [Steps](#steps)
+- [Building](#building)
+- [Recommendations](#recommendations)
# Features
* **One-Click Server Deployment** - Deploy a Minecraft server with a single click.
-* **Simple Server Management** - Start and stop, manual and scheduled backups, manage operators, and more.
+* **Multiple Server Type Support** - Vanilla, Spigot, Paper, Fabric, etc. are all supported. Modpacks and mod lists are also supported!
+* **Simple Server Management** - Start and stop, manual and scheduled backups, on-the-fly command running, and more.
* **Realtime Monitoring** - Keep track of player count, memory usage, and more.
+# Get Started
+
+## Prerequisites
+
+* [Docker](https://docs.docker.com/get-docker/) (or an equivalent, such as [Podman](https://podman.io/))
+* Webserver (such as [NGINX](https://www.nginx.com/))
+
+## Steps
+
+1. Download the latest release and extract it (you can also download [an Actions build](https://www.github.com/SpikeHD/OpenMCPanel/actions/workflows/build.yml)):
+```bash
+# Windows
+curl -L "https://www.github.com/SpikeHD/OpenMCPanel/releases/latest/download/omcp_win64.zip" -o omcp.zip
+unzip omcp.zip
+
+# Linux/MacOS
+curl -L "https://www.github.com/SpikeHD/OpenMCPanel/releases/latest/download/omcp_linux64.tar.gz" -o omcp.tar.gz
+tar -xzf omcp.tar.gz
+```
+
+2. Run the binary:
+```bash
+# Windows
+./omcp.exe --help
+
+# Linux/MacOS
+./omcp --help
+```
+
+3. After reviewing the options, start the server with a configuration of your liking:
+```bash
+# Windows
+./omcp.exe --log omcp.log --port 8080 --username Tester
+
+# Linux/MacOS
+./omcp --log omcp.log --port 8080 --username Tester
+```
+
+4. Open your web browser and navigate to `http://localhost:8080` (or the port you specified) to access the panel! You are ready to deploy!
+
+# Building
+
+## Prerequisites
+
+* [Node.js](https://nodejs.org/en/download/) (or your favorite runtime)
+* [Rust and Cargo](https://www.rust-lang.org/tools/install)
+
+## Steps
+
+1. Clone the repository:
+```bash
+git clone https://github.com/SpikeHD/OpenMCPanel.git
+cd OpenMCPanel
+```
+
+2. Install the dependencies:
+```bash
+cd web
+npm install
+```
+
+3. Build the project:
+```bash
+# Build the frontend
+npm run build
+
+# Build the backend
+cd ..
+cargo build --release
+```
+
+Your binary will be located at `target/release/omcp`.
+
# Recommendations
* [fail2ban](https://github.com/fail2ban/fail2ban) - Protect from brute force attacks