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 # 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** A better script for running Paper Minecraft server with features such as
> version downlading, automatic build update, interactive eula accepting, protection
> - 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 against accidental version update, Aikar's flags out of the box, etc.
> - I am not responsible for any lost data
> - If enough people request it (or someone creates a PR) I'll add this functionality
## 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 ## Basic setup
> **Note** > **Note**
> >
> Everything mentioned below is modified at the top of the `start.sh` file > 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** > **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 `version` variable to the version you want 3. Change the `select_version` variable to the version you want
```bash
version="1.12.2" ```bash
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: 4. If you want a specific build, set the `select_build` variable. Othervise the sript will download the latest build:
```bash
```bash
select_build="1620" select_build="1620"
``` ```
5. Select how much memory you want your server to use ***(in megabytes)***: 5. Select how much memory you want your server to use ***(in megabytes)***:
```bash
```bash
mem="8000M" mem="8000M"
``` ```
6. Allow executing ov the script with `chmod +x start.sh` 6. Add execute flag to the script:
7. Run the script with `./start.sh`
```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 ## 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 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