Initial release #1

Merged
jiriks74 merged 48 commits from initial_release into main 2023-02-26 23:56:32 +01:00
Showing only changes of commit 65fca1fdc0 - Show all commits

@ -1,42 +1,107 @@
# start_papermc.sh
A better script for running Paper Minecraft server with features such as automatic build updates, automatic downlading, interactive eula accepting, interactive updating, etc.
> **Warning**
>
> - This script is not made for migrating versions. If you're migrating versions, delete your old server's `.jar` file and change the version in the script's settings
> - I am not responsible for any lost data
> - If enough people request it (or someone creates a PR) I'll add this functionality
A better script for running Paper Minecraft server with features such as
version downlading, automatic build update, interactive eula accepting, protection
against accidental version update, Aikar's flags out of the box, etc.
## Table of contents
<!-- TOC start -->
- [Dependencies](#dependencies)
- [Basic setup](#basic-setup)
- [Updating](#updating)
- [Builds](#builds)
- [Versions](#versions)
- [Default JVM flags used](#default-jvm-flags-used)
<!-- TOC end -->
<!-- TOC --><a name="start_papermcsh"></a>
<!-- TOC --><a name="dependencies"></a>
## Dependencies
- `jq`
- `awk`
- `curl`
Most, if not all, of these should be already available on your system if you're running something like Ubuntu.
<!-- TOC --><a name="basic-setup"></a>
## Basic setup
> **Note**
>
> Everything mentioned below is modified at the top of the `start.sh` file
1. Clone this repository and enter the directory: `git clone https://github.com/jiriks74/start_papermc.sh minecraft_server && cd minecraft_server`
1. Clone this repository and enter the directory:
```bash
git clone https://github.com/jiriks74/start_papermc.sh minecraft_server && cd minecraft_server
```
> **Note**
>
> If you want to have the server under some specific directory name, just change `minecraft_server` to something else
> If you want to have the server under some specific directory name, just change
`minecraft_server` to something else
2. Open `star.sh` in your favorite editor *(eg. `nano start.sh)*
2. Open `start.sh` in your favorite editor *(eg. `nano start.sh`)*
3. Change the `select_version` variable to the version you want
3. Change the `version` variable to the version you want
```bash
version="1.12.2"
select_version="1.12.2"
```
4. If you want a specific build, set the `select_build` variable. Othervise the sript will download the latest build:
```bash
select_build="1620"
```
5. Select how much memory you want your server to use ***(in megabytes)***:
```bash
mem="8000M"
```
6. Allow executing ov the script with `chmod +x start.sh`
7. Run the script with `./start.sh`
6. Add execute flag to the script:
```bash
chmod +x start.sh
```
7. Start the script
```bash
./start.sh
```
<!-- TOC --><a name="updating"></a>
## Updating
<!-- TOC --><a name="builds"></a>
### Builds
This script can automatically update to the latest papermc build available for the
Minecraft version you selected. If you want this behaviour, leave the `select_build`
veriable empty.
Otherwise select the build you want and the script will download it for you.
<!-- TOC --><a name="versions"></a>
### Versions
> **Warning**
>
> - This script is not made for migrating versions. It won't make sure your plugins
are working or that your worlds won't get corrupted. It only downloads a new server
file, nothing else.
> - **I am not responsible for any lost data**
This script is able to update/downgrade versions as you please. Just change the
`select_version` variable to the version you want and the script will download
it for you.
<!-- TOC --><a name="default-jvm-flags-used"></a>
## Default JVM flags used
By default this script uses [Aikar's Flags](https://docs.papermc.io/paper/aikars-flags). It's set up so that it automatically modifies them if over