## About MMS

**M**odded **M**inecraft **S**erver project - the name says it all (I'm open for suggestions if you've got a better name). This repository is mostly about the modpack and includes other info like the configuration of the official server running at `mms.nanody.de`.  
The modpack is currently labeled **"Industrial Adventures"**. IA revolves around the [Create mod](https://github.com/Fabricators-of-Create/Create). Why Create? Because it's a cool mod, obviously! Furthermore the adventorous aspects may be expanded on in the future.  
Apart from that there are 4 goals:  
- Only add features and functionality to the game, keep the vanilla features and functionality untouched. Complex Redstone contraptions, for example, which are supposed to work in vanilla, should also work with Industrial Adventures.  
- Find a middle ground between being too minimalistic and too bloated.  
- Improve performance and be playable on inexpensive hardware.  
- Prefer open source software and respect user privacy by default.  

Based on these goals everything else is decided.  
That's why the chosen mod loader is [Fabric](https://fabricmc.net/), which is lightweight and doesn't change Minecraft's vanilla behaviour.  
  
### Distribution
Industrial Adventures is being distributed in two variants: 
- **IA-full** Provides the full IA experience in singleplayer as well as multiplayer. It may however run less smoothly than IA-client on your computer.  
- **IA-client** is for use in multiplayer and is more lightweight than IA-full by excluding server-only features like world generation mods. It can also be used in singleplayer, without the full IA experience and requires less resources than IA-full does in singleplayer.  
  
Additionally, the IA-client-min package is provided as information on how to make a client compatible with the server. It's only the bare minimum to achieve compatibility. It also includes optional mods, which the server provides support for. They are `.disabled` by default.  
  
Explicit contents:

<details>
<summary>IA-full</summary>
WIP
</details>

<details>
<summary>IA-client</summary>
WIP
</details>

<details>
<summary>IA-client-min</summary>
WIP
</details>

<details>
<summary>IA-server</summary>
WIP
</details>

This is the Git repository of MMS. This repositry's goal is to ease development of the project with the Git workflow, enable collaboration and of course to make the project [open source](https://en.wikipedia.org/wiki/Open_source).  

## Installation Instructions Industrial Adventures 
### IA-client Installation
#### 1. Install PrismLauncher
PrismLauncher is a so-called 3rd-party-launcher, which makes installation and management of mods and modpacks very easy. Follow installation instructions on https://prismlauncher.org/  
#### 2. Log in with PrismLauncher
On the top right "Accounts -> Manage Accounts... -> Add Microsoft". This opens the Microsoft website in your browser, where you have to login to your Microsoft account and then authorize PrismLauncher to access your "XBox account".  
If your browser doesnt start automatically, copy the URL displayed and paste it into your browser.  
This will allow PrismLauncher to generate a token, which grants temporary access to your XBox/Minecraft account. PrismLauncher stores this token only on your device and only uses it to launch Minecraft with your Minecraft account.
#### 3. Import the modpack
On the top left "Add Instance -> Import".  
Paste the following link:  
`https://git.nanody.de/api/packages/anonoe/generic/MMS-client/3.0/MMS-client_3.0-init.zip`  
and press "OK".
#### 4. Launch game and join server
Select the instance and press "Launch". Have a little patience for the downloads to finish and the game to launch. Finally join the server, if you are whitelisted.  
### IA-client-min Installation
IA-client-min is a symbolic modpack, which isn't meant to be 'installed'. It's meant as information for advanced people who prefer to configure their client on their own. If the information isn't enough for you to do that, then you're probably not advanced enough (yet).
### MMS-server Installation
WIP

## Building Instructions
WIP

## Licensing & Credits
- This repository is *mostly* licensed under the [AGPL-3.0-or-later](./LICENSE).
- The modpack Industrial Adventures is based on [Simply Optimized](https://modrinth.com/modpack/sop) by "HyperSoop", which has it's own license at <https://oql.avris.it/license/v1.1>.
- **Excluded** from the [AGPL-3.0-or-later](./LICENSE) are 
  - all "mods" (jar binaries), as each has their own license (most of which are open-source). This only affects the PrismLauncher/MultiMC ZIP packages, as the repo as well as MRPACK packages only contain references to the actual jar files (modrinth.index.json).
    - These mods are not licensed open-source, but All Rights Reserved:
      - What Are They Up To (Watut), [source available](https://github.com/Corosauce/WATUT)
        - dependency CoroUtil, [source available](https://github.com/Corosauce/CoroUtil)
  - all resourcepacks in [./client/overrides/resourcepacks](./client/overrides/resourcepacks) as I (anonoe) do not own them. I distribute them with the permission granted by Vanilla Tweaks [here](https://vanillatweaks.net/terms/).
  - all datapacks in [./server/server/overrides/world/datapacks](./server/server/overrides/world/datapacks) as I (anonoe) do not own them. I distribute them with the permission granted by Vanilla Tweaks [here](https://vanillatweaks.net/terms/) and by Stardust Labs [here](https://github.com/Stardust-Labs-MC/Structory/blob/v1.3.5/license.txt) and [here](https://github.com/Stardust-Labs-MC/Structory-Towers/blob/v1.0.7/license.txt).
  - the fabric-server-mc...loader...launcher...jar file(s) located at [./server/server/overrides](./server/server/overrides) by FabricMC licensed under the [Apache-2.0 License](https://github.com/FabricMC/fabric-installer/?tab=Apache-2.0-1-ov-file#readme)
    - When executed, the server launcher will download & execute the actual closed-source Minecraft executables by Mojang, as the [EULA](https://aka.ms/MinecraftEULA) forbids distribution.
- Credits go to [Vanilla Tweaks](https://vanillatweaks.net/) for
  - the resourcepacks in [./client/overrides/resourcepacks](./client/overrides/resourcepacks).
  - most of the datapacks in [./server/server/overrides/world/datapacks](./server/server/overrides/world/datapacks).
- Credits go to [Stardust Labs](https://www.stardustlabs.net/) for the datapacks [Structory](https://github.com/Stardust-Labs-MC/Structory) and [Structory: Towers](https://github.com/Stardust-Labs-MC/Structory-Towers).
