Skip to content

Commit

Permalink
Add some basic SWP docs
Browse files Browse the repository at this point in the history
  • Loading branch information
kyngs committed Jun 23, 2024
1 parent 1da6e26 commit a6b15f0
Show file tree
Hide file tree
Showing 11 changed files with 316 additions and 147 deletions.
111 changes: 111 additions & 0 deletions docs_asp/Slime World Plugin/commands.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,111 @@
---
sidebar_position: 3
---

# Commands & Permissions

This pages contains all the commands inside ASWM, alongside their respective permissions and usages. Arguments within angle brackets are required, and the ones within square brackets are optional.

The `swm.*` permission will grant access to all commands.

## General commands

### /swp help
Permission required: none.\
Usage: `/swp help`\
Description: Shows the plugin's help page, containing only the commands you have access to.

### /swp version
Permission required: none.\
Usage: `/swp version`\
Description: Shows the plugin version.

### /swp reload
Permission required: `swm.reload`
Usage: `/swp reload`\
Since version: 1.1.0.\
Description: Reloads the config files.

### /swp goto
Permission required: `swm.goto`\
Usage: `/swp goto <world> [player]`\
Description: Teleports yourself to a world. If you want to teleport someone else, you can specify it by using the _player_ argument.

**This command also works for traditional worlds, not just SRF worlds.**

## World Listing commands

### /swp list
Permission required: `swm.worldlist`\
Usage: `/swp list [slime] [page]`\
Description: Lists all worlds, including loaded non-SRF worlds. If you use the `slime` argument, only SRF worlds will be shown.

### /swp dslist
Permission required: `swm.dslist`\
Usage: `/swp list <data-source> [page]`\
Since version: 2.0.0.\
Description: Lists all worlds contained inside a specified data source. Note that this command doesn't just list the worlds that are inside the config file, but every world inside the data source.

## World Creation and Loading commands

### /swp import
Permission required: `swm.importworld`\
Usage: `/swp import <path-to-world> <data-source> [new-world-name]`\
Since version: 1.1.0.\
Description: Converts a world into the SRF and stores it inside the provided data source. You can check out [this page](https://github.com/Grinderwolf/Slime-World-Manager/wiki/Converting-traditional-worlds-into-the-SRF) for more information on how to use this command.

### /swp load
Permission required: `swm.loadworld`\
Usage: `/swp load <world>`\
Description: Loads a world from the config file. Remember to configure the world after converting it to the SRF. More on that [here](https://github.com/Grinderwolf/Slime-World-Manager/wiki/Configuring-worlds).

### /swp load-template
Permission required: `swm.loadworld.template`\
Usage: `/swp load-template <template-world> <world>`\
Since version: 2.0.0.\
Description: Creates a clone of the provided template world. This can be used to create many copies of the same world.

**Cloned template worlds are temporary, and they will never be actually stored anywhere, so any changes to them will be lost once the server is shut down.**

### /swp clone
Permission required: `swm.cloneworld`\
Usage: `/swp clone <template-world> <world> [new-data-source]`\
Since version: 2.2.0.\
Description: Creates a clone of the provided template world. If not provided, SWM will use the data source of the template world to save the clone.

### /swp create
Permission required: `swm.createworld`\
Usage: `/swp create <world> <data-source>`\
Since version: 1.1.0.\
Description: Creates an empty world and stores it in the provided data source. This command will also automatically save the world in the config file.

### /swp unload
Permission required: `swm.unloadworld`\
Usage: `/swp unload <world>`\
Description: Unloads a world from the server.

**This command also works for traditional worlds, not just SRF worlds.**

## World Management commands

### /swp migrate
Permission required: `swm.migrate`\
Usage: `/swp migrate <world> <new-data-source>`\
Description: Transfers a world from the current data source it's stored in to the specified.

### /swp save
Permission required: `swm.saveworld`\
Usage: `/swp save <world>`\
Description: Saves a world.

### /swp setspawn
Permission required: `swm.setspawn`\
Usage: `/swp setspawn <world> <x> <y> <z> <yaw> <pitch>`\
Description: Set the spawnpoint of a world based on your location or one provided.

### /swp delete
Permission required: `swm.deleteworld`\
Usage: `/swp delete <world> [data-source]`\
Description: Completely deletes a world. If a data source is not provided, the one specified in the config file will be used.

**This action is permanent, and there's no way to go back once the world is deleted.** To make sure you are not doing this by mistake, you'll have to type the command twice.
102 changes: 102 additions & 0 deletions docs_asp/Slime World Plugin/configuration.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,102 @@
---
sidebar_position: 2
---

# Configuration
This page will guide you through configuring the Slime World Plugin.

## World Configuration
To configure a world, open the `worlds.yml` file inside the plugin config folder.
Here's an example of a `worlds.yml` file:
```yaml
worlds:
my_great_world:
source: mongodb
loadOnStartup: false
readOnly: true
spawn: 940, 2, -370
allowMonsters: false
allowAnimals: false
difficulty: peaceful
pvp: false
environment: NORMAL
worldType: default
```
### World Configuration Options
#### `source`
Description: the name of the data source where the world is stored.\
Available options: `file`, `mysql`, `mongodb`. Any other datasources provided by third-party plugins can also be used.\
Defaults to: `file`.

#### `loadOnStartup`
Description: whether the world should be loaded when the server starts up.\
Available options: `true` and `false`.

#### `readOnly`
Description: if true, changes to the world will never be stored. If false, the world will be locked, so no other server can access it without being on read-only mode.\
Available options: `true` and `false`.\
Defaults to: `false`.

#### `spawn`
Description: spawn coordinates for the world.\
Available options: `<x-coord>, <y-coord>, <z-coord>`.\
Defaults to: `0, 255, 0`.

#### `allowMonsters`
Description: whether monsters can spawn on this world.\
Available options: `true` and `false`.\
Defaults to: `true`.

#### `allowAnimals`
Description: whether animals can spawn on this world.\
Available options: `true` and `false`.\
Defaults to: `true`.

#### `difficulty`
Description: the difficulty of the world.\
Available options: `peaceful`, `easy`, `normal` and `hard`.\
Defaults to: `peaceful`.

#### `pvp`
Description: if true, PvP will be allowed on this world.\
Available options: `true` and `false`.\
Defaults to: `true`.

#### `environment`
Description: sets the world environment.\
Available options: `normal`, `nether`, `the_end`.\
Defaults to: `normal`.

#### `worldType`
Description: sets the level type.\
Available options: `default`, `flat`, `large_biomes`, `amplified`, `customized`, `debug_all_block_states`, `default_1_1`.\
Defaults to: `default`.

## Data Source Configuration
Before using the database to store your worlds, you've got to configure it.
To do so, navigate to the `sources.yml` file in the plugin's folder and edit it to your liking.
Here's an example of a `sources.yml` file:
```yaml
file:
# The path to the directory where slime worlds are stored
path: slime_worlds
mysql:
enabled: true
host: 127.0.0.1
port: 3306
username: my_mysql_username
password: my_mysql_password
database: slimeworldmanager
mongodb:
enabled: true
host: 127.0.0.1
port: 27017
username: my_mongo_username
password: my_mongo_password
auth: admin
database: slimeworldmanager
collection: worlds
```

**Remember to enable MySQL and/or MongoDB if you are going to use them!**
20 changes: 20 additions & 0 deletions docs_asp/Slime World Plugin/converting_worlds.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
---
sidebar_position: 4
---

# Converting Worlds

To be able to load a world with SWP, you have to convert it to the SRF.
## Using the in-game command

1. Place your world inside your server's root directory.
2. Make sure the world is unloaded. Loaded worlds cannot be converted.
3. Run the command `/swp import <your-world-folder> <data-source> [new-world-name]`. If you want the world to have the same name as the world folder, simply ignore the _[new-world-name]_ argument.
4. Done! The world is now inside the data source you've provided.

## Using the standalone importer tool

1. Download the latest version of the importer tool *(download links will be added later)*.
2. Run the tool with the command:\
`java -jar asp-importer.jar <path-to-world-folder> [--accept] [--print-error]`
3. Done! The world is now saved as a .slime world inside the same folder as the importer tool.
8 changes: 8 additions & 0 deletions docs_asp/Slime World Plugin/installation.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
---
sidebar_position: 1
---

# Installation
Simply download the latest version of the plugin and place it in your server's `plugins` folder.


69 changes: 0 additions & 69 deletions docs_asp/setup.md

This file was deleted.

63 changes: 63 additions & 0 deletions docs_asp/setup.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
---
sidebar_position: 2
---

# Setup
This page covers how to quickly get ASP up and running on your server.

## Install Java
Since Minecraft version 1.20.6, Java 21 is required to run the server.

### Windows
We suggest installing [Adoptium JDK 21](https://github.com/adoptium/temurin21-binaries/releases/download/jdk-21.0.3%2B9/OpenJDK21U-jdk_x64_windows_hotspot_21.0.3_9.msi)

### Ubuntu/Debian
```bash
apt update && apt install temurin-21-jdk
```

## Download Advanced Slime Paper / Pufferfish / Purpur

ASP is actively developed for Paper; Pufferfish and Purpur versions are based on it, but updated less frequently.

### ASPaper
We recommend using the Paper version for the most stable experience.

#### Main
Tested and ready for production.
```
Download links will be added later
```

#### Develop
Contains the latest features and bug fixes, but is **BARELY** tested and might not work at all.
```
Download links will be added later
```

#### Upstream
Contains the latest patches from Paper, but is **NOT** tested.
```
Download links will be added later
```

### ASPufferfish
The Pufferfish version is updated less frequently than Paper.
```
Download links will be added later
```

### ASPurpur
The Purpur version is updated less frequently than Paper.
```
Download links will be added later
```

## Run ASP
Simply use the JAR file you downloaded as a server JAR.

## Next steps
At this moment, ASP is only a server providing the ASP API, nothing else.
If you don't want to use the API, or want a utility plugin, we **recommend installing the [SlimeWorldPlugin]("")**


7 changes: 0 additions & 7 deletions docs_iwm/index.md

This file was deleted.

Loading

0 comments on commit a6b15f0

Please sign in to comment.