Skip to content

Commit 7f594a2

Browse files
committed
update docs and readme
1 parent 48b0098 commit 7f594a2

17 files changed

+212
-109
lines changed

.gitignore

+4
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
1+
# rust
12
target/
3+
# developer testing
24
test/
5+
# mkdocs output
6+
site/
37

48
# mcman: Exclude mcman build outputs
59
**/server

DOCS.md

+3
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
<!-- markdownlint-disable MD033 -->
22
# `mcman` Documentation
33

4+
> Warning:
5+
> Outdated, see [this website](https://paradigmmc.github.io/mcman/) for more up-to-date docs
6+
47
You might be looking for [tutorial.md](./TUTORIAL.md)
58

69
Index:

README.md

+11-15
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,20 @@
66
[![builds](https://img.shields.io/github/actions/workflow/status/ParadigmMC/mcman/build.yml?logo=github)](https://github.com/ParadigmMC/mcman/actions/workflows/build.yml)
77
[![docker publish](https://img.shields.io/github/actions/workflow/status/ParadigmMC/mcman/publish.yml?logo=github&label=docker%20publish)](https://github.com/ParadigmMC/mcman/actions/workflows/publish.yml)
88
![GitHub Repo stars](https://img.shields.io/github/stars/ParadigmMC/mcman?logo=github)
9+
[![quiltmc featured](https://img.shields.io/badge/quiltmc-featured-8A2BE2)](https://tech.lgbt/@quiltmc/110690787441497920)
910

1011
Powerful Minecraft Server Manager CLI. Easily install jars (server, plugins & mods) and write config files. Docker and git support included.
1112

12-
<!-- todo: a (terminal) screenshot here -->
13+
## Getting Started
14+
15+
![mcman init](https://cdn.discordapp.com/attachments/1109215116060266567/1134187743300296815/render1690481729604.gif)
16+
17+
| 🚀 [Installation](https://paradigmmc.github.io/mcman/installation/) |[Getting Started](https://paradigmmc.github.io/mcman/tutorials/getting-started/) | 📜 [Documentation](https://paradigmmc.github.io/mcman/) |
18+
| ------------------------------------------------------------------ | ---------------------------------------------------------------------------------- | ------------------------------------------------------ |
19+
20+
- 📋 Want an example? Here's [iptfreedom](https://github.com/IPTFreedom/iptfreedom)
21+
22+
Submit a PR or open an issue if you have a mcman-server repository that we can add here!
1323

1424
## Features
1525

@@ -32,20 +42,6 @@ Powerful Minecraft Server Manager CLI. Easily install jars (server, plugins & mo
3242
- 📦 Import from or export to [mrpack](./DOCS.md#mcman-import-mrpack-src)s!
3343
- 📦 Import from or export to [packwiz](./DOCS.md#mcman-import-mrpack-src) packs!
3444

35-
## Getting Started
36-
37-
![mcman init](https://cdn.discordapp.com/attachments/1109215116060266567/1134187743300296815/render1690481729604.gif)
38-
39-
- 🚀 [Installation instructions](./TUTORIAL.md#installation)
40-
41-
-[Recommended Usage](./TUTORIAL.md#recommended-usage)
42-
43-
- 📜 View the [**Documentation**](./DOCS.md) here.
44-
45-
- 📋 Want an example? Here's [iptfreedom](https://github.com/IPTFreedom/iptfreedom)
46-
47-
Submit a PR or open an issue if you have a mcman-server repository that we can add here!
48-
4945
## Changelog
5046

5147
### `0.3.0` (unreleased)

docs/commands/env.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,6 @@ Adds some ignore items in your repository's `.gitignore`
88

99
`git` should be installed and you should be in a repository for this to work
1010

11-
## `mcman env gitignore`
11+
## `mcman env docker`
1212

1313
Write the default Dockerfile and .dockerignore

docs/commands/index.md

+1-4
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,6 @@
11
# CLI Commands
22

3-
This section shows the commands of mcman. You can type `mcman` or `mcman --help` for a basic list of it.
4-
5-
!!! warning
6-
These docs are incomplete.
3+
This section shows the commands of mcman. You can type `mcman`, `mcman help` or `mcman --help` for a basic list of it.
74

85
## Cheatsheet
96

docs/commands/init.md

+4-2
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,12 @@
22

33
Initializes a new server in the current directory.
44

5-
> **Full Command:** `mcman init [--name <name>] [--mrpack <source> | --packwiz <source>]`
6-
75
This command is interactive. Just run `mcman init`!
86

7+
See the [getting started](../tutorials/getting-started.md) tutorial for what to do next
8+
9+
> **Full Command:** `mcman init [--name <name>] [--mrpack <source> | --packwiz <source>]`
10+
911
??? "📦 Importing from a mrpack (modrinth modpack)"
1012
You can use the `--mrpack` flag on `mcman init` to import from an mrpack while initializing a server.
1113

docs/index.md

+8
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,14 @@
22

33
mcman is a command line tool that makes it easier to create and manage minecraft servers. Instead of manually downloading jars from the internet and doing intricate replace operations and whatnot on your plugin configuration files, mcman downloads everything you need from one configuration file (`server.toml`) and handles your config files with one very useful feature - variables.
44

5+
## Quick Start
6+
7+
- [Installation](./installation.md)
8+
- [Getting Started](./tutorials/getting-started.md)
9+
- [Explaining how building works](./tutorials/building.md)
10+
- [Commands](./commands)
11+
- [Reference](./reference/server.toml.md)
12+
513
## Features
614

715
- Downloads or sets up server software (server.jar)

docs/installation.md

+20-6
Original file line numberDiff line numberDiff line change
@@ -3,19 +3,33 @@
33

44
# Installation
55

6-
You can use the links below to get the mcman executable. We suggest you to add it to your `PATH` so you can run it from anywhere!
6+
=== "Github Releases"
7+
You can use the links below to get the mcman executable.
78

8-
[:fontawesome-brands-windows: Windows][latest-win]{ .md-button } [:fontawesome-brands-linux: OSX/Linux][latest-linux]{ .md-button }
9+
[:fontawesome-brands-windows: Windows][latest-win]{ .md-button } [:fontawesome-brands-linux: OSX/Linux][latest-linux]{ .md-button }
910

10-
!!! info "Windows: Install via Scoop"
11-
[Scoop](https://scoop.sh/) is a command-line installer for Windows. You can use 2 commands in powershell to install it.
11+
[:simple-github: Github Releases Page](https://github.com/ParadigmMC/mcman/releases){ .md-button } [:simple-github: Build Action (nightly)](https://github.com/ParadigmMC/mcman/actions/workflows/build.yml){ .md-button }
12+
13+
We suggest you to add it to your `PATH` so you can run it from anywhere! (windows)
1214

15+
=== "Windows: scoop"
1316
Add the [minecraft](https://github.com/The-Simples/scoop-minecraft) bucket and install mcman:
1417

1518
```powershell
1619
scoop bucket add minecraft https://github.com/The-Simples/scoop-minecraft
1720
scoop install mcman
1821
```
1922

20-
* [Github Releases Page](https://github.com/ParadigmMC/mcman/releases)
21-
* [build action](https://github.com/ParadigmMC/mcman/actions/workflows/build.yml) (requires github account)
23+
[Scoop](https://scoop.sh/) is a command-line installer for Windows. You can use 2 commands in powershell to install it. (4 commands in total to install mcman!)
24+
25+
=== "Linux: wget"
26+
wget
27+
28+
```sh title="Install mcman"
29+
wget https://github.com/ParadigmMC/mcman/releases/latest/download/mcman
30+
sudo mv ./mcman /usr/bin/
31+
sudo chmod +x /usr/bin/mcman
32+
```
33+
34+
bottom text
35+

docs/reference/downloadable/index.md

+1-11
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,6 @@
11
# Downloadable
22

3-
A `Downloadable` is some project, entity etc. from a source.
4-
5-
## Server Software
6-
7-
- [Vanilla](../servertype/vanilla.md)
8-
- [Fabric](../servertype/fabric.md) - `modded`
9-
- [Quilt](../servertype/quilt.md) - `modded`
10-
- [PaperMC](../servertype/papermc.md) (paper, velocity and waterfall) - `bukkit`/`proxy`
11-
- [Purpur](./purpurmc.md) - `bukkit`
12-
- [BungeeCord](./bungeecord.md) - `proxy`
13-
- [BuildTools](./buildtools.md) (spigot and craftbukkit) - `bukkit`
3+
A `Downloadable` is a plugin, mod, datapack or any other thing that is, downloadable.
144

155
## Sources
166

docs/reference/server.toml.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,9 @@ This section is for the `server.toml` configuration file.
44

55
Each `server.toml` defines a differient server.
66

7+
To generate one, you can use the [`mcman init`](../commands/init.md) command ([Tutorial](../tutorials/getting-started.md))
8+
79
!!! note
8-
You shouldn't nest `server.toml` files in sub-folders.
9-
1010
If you are in your server's sub-directories, mcman will be able to find the `server.toml` file recursively.
1111

1212
??? example

docs/tutorials/building.md

+22-4
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,29 @@
1-
# Building (How it works)
1+
# Understanding Building
22

3-
`mcman build` is basically the most important command it has. It, of couse, builds your server.
3+
Building is the process of... basically building the entire server.
44

5-
Here are the steps/stages of how it does it:
5+
Before everything else, building requires a [server.toml](../reference/server.toml.md). Check out the [getting started](./getting-started.md) tutorial if you dont have one.
6+
7+
Before everything, mcman will create a `server/` directory to download everything into if it doesnt exist.
68

79
## 1. Server Jar
810

9-
To run a minecraft server, you need the server itself! In this stage, mcman basically downloads the `jar` property on the [`server.toml`](../reference/server.toml.md)
11+
First, mcman will download the server jar. And if neccesary (quilt and buildtools) will run the installer.
12+
13+
## 2. Plugins/Mods
14+
15+
In this stage, mcman downloads every mod and plugin defined in the `server.toml`.
16+
17+
## 3. Datapacks
18+
19+
Like plugins and mods, if there are any, mcman will download every datapack for every world that exists
20+
21+
## 4. Configurations (Bootstrapping)
22+
23+
In this stage, mcman will 'bootstrap' your configuration files - which is a fancy synonim for "copy, paste, find and replace"
24+
25+
You can check the [variables](./variables.md) section for more info
1026

27+
## 5. Scripts
1128

29+
Finally, mcman generates `start.bat` and `start.sh` scripts. These can be disabled and configured further under `server.toml` [(docs here)](../reference/server-launcher.md)

docs/tutorials/folder-structure.md

+11-10
Original file line numberDiff line numberDiff line change
@@ -33,13 +33,14 @@ These are all can be found under [this section](../reference/server.toml.md) in
3333

3434
Your server's configuration files which you have overridden (edited) should all be here.
3535

36-
When building, mcman uses this folder to
37-
38-
- **config/** folder: This is the folder your server config files should go. `mcman` will process everything into the output.
39-
- The path is converted as follows:
40-
`config/server.properties` => `server/server.properties`
41-
And every config file (.properties, .toml, .yaml, .yml etc) will be processed with [variables](#variables)
42-
- **server/** folder: This folder is where `mcman` will build the server files into, aka the output. This folder is gitignored by default (because why would you do that?)
43-
- According to the `server.toml`, mcman can generate launcher scripts at `server/start.sh` and `server/start.bat`
44-
- **`.gitignore` and `.dockerignore`**: Ignore files for git and docker
45-
- **Dockerfile**: If you enabled docker, this is the dockerfile
36+
When [building](./building.md), mcman uses this folder to create the server's configuration files while also using the server's [variables](./variables.md)
37+
38+
## server/ Directory
39+
40+
This is the 'output' file. It will contain all of the server files including the server jar file after every build.
41+
42+
## Other
43+
44+
- **`client-config/`** folder can be used like `config/` to add client-side config overrides. This folder is processed while exporting to `.mrpack` or `packwiz` - it does nothing while building.
45+
- **`.gitignore`** is the default gitignore file generated by mcman. if you need it and dont have it, you can use [`mcman env gitignore`](../commands/env.md#mcman-env-gitignore)
46+
- **`.dockerignore` & `Dockerfile`** are the default docker files. like gitignore you can use [`mcman env docker`](../commands/env.md#mcman-env-docker)

docs/tutorials/getting-started.md

+56
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,58 @@
11
# Getting Started
22

3+
Let's create a simple server as an example.
4+
5+
## Initial Setup
6+
7+
Since mcman is git-compatible, you can create a new Github Repository to put your server configuration files in. This is optional but recommended.
8+
9+
Create a new folder (or clone your repository) for your server and `cd` into it.
10+
11+
Then inside your server folder, run [`mcman init`](../commands/init.md)
12+
13+
![mcman init](https://cdn.discordapp.com/attachments/1109215116060266567/1134187743300296815/render1690481729604.gif)
14+
15+
It will interactively allow you to set up a basic **`server.toml`** file.
16+
17+
!!! question "Whats a `server.toml` file????"
18+
When using mcman, a `server.toml` file is some kind of metadata file containing neccesary information about it. For example, it contains the server name, version, plugins/mods and more.
19+
20+
!!! tip "Want to import from a modpack?"
21+
mcman supports importing from some modpack formats (`mrpack` and `packwiz`)
22+
23+
See [this section](./importing-modpacks.md) to see how
24+
25+
## Building
26+
27+
Now, lets 'build' and run the server!
28+
29+
- If you want to run it yourself, use [`mcman build`](../commands/build.md) `&& cd server` and run the `start.{bat,sh}` script.
30+
- Orrr you can just do [`mcman run`](../commands/run.md) which does both for you.
31+
32+
## Bootstrapping
33+
34+
If you open the newly generated `config/server.properties` file, you'll see something like this:
35+
36+
```properties title="config/server.properties"
37+
server-port=${PORT:25565}
38+
motd=${SERVER_NAME:A Minecraft Server}
39+
```
40+
41+
If you run `mcman build`, you should see a `server.properties` file inside the `server/` folder too.
42+
43+
If you open *that* file, inside `server/`, you'll see that it contains these two lines:
44+
45+
```properties title="server/server.properties"
46+
server-port=25565
47+
motd=mcman-example-quilt
48+
```
49+
50+
As you can guess, when running `mcman build`, mcman will process configuration files inside `config/` and copy them over to `server/` alongside downloading the server jar/plugins/mods and such.
51+
52+
For more information, check out the [Variables](./variables.md) section :3
53+
54+
## Adding Plugins or Mods
55+
56+
For now, you can use the [`mcman import url <URL>`](../commands/import.md#mcman-import-url-url) command to import mods or plugins from URLs.
57+
58+
Or alternatively write and edit the [`server.toml`](../reference/server.toml.md) yourself to add it. You can check out the [reference](../reference/downloadable/index.md) for the Downloadable type which is basically a mod/plugin source.

docs/tutorials/importing-modpacks.md

+10-6
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,14 @@
22

33
`mcman` can import from the [mrpack](https://modrinth.com/modpacks) format (modrinth modpacks) or [packwiz](https://packwiz.infra.link/) packs.
44

5+
??? question "Can I import after initializing?"
6+
Yes you can!
7+
8+
- For mrpacks: `mcman import mrpack <source>`
9+
- For packwiz packs: `mcman import packwiz <source>`
10+
11+
The source arguments are the same
12+
513
## mrpack
614

715
You can import mrpacks with the `--mrpack` flag while initializing:
@@ -30,10 +38,6 @@ The `source` argument can be
3038
* An URL with `http`/`https` scheme
3139
* Path to a local `pack.toml` file
3240

33-
??? question "Can I import after initializing?"
34-
Yes you can!
41+
## Whats next?
3542

36-
- For mrpacks: `mcman import mrpack <source>`
37-
- For packwiz packs: `mcman import packwiz <source>`
38-
39-
The source arguments are the same
43+
Tutorial -> Getting Started -> [Building](./getting-started.md#building)

docs/tutorials/index.md

-6
This file was deleted.

0 commit comments

Comments
 (0)