Purpur/README.md

122 lines
4.8 KiB
Markdown
Raw Normal View History

2020-10-05 06:05:11 +08:00
<div align="center">
<a href="https://purpurmc.org"><img src="https://user-images.githubusercontent.com/74448585/150906023-101cd383-da82-4a3c-9603-a3b5741c3994.png" alt="Purpur"></a>
2019-05-13 06:02:15 +08:00
2020-10-05 06:05:11 +08:00
## Purpur
2019-05-13 06:02:15 +08:00
2021-12-04 01:38:43 +08:00
[![MIT License](https://img.shields.io/github/license/PurpurMC/Purpur?&logo=github)](LICENSE)
[![Github Actions Build](https://img.shields.io/github/workflow/status/PurpurMC/purpur/Build?event=push&logo=github)](https://purpurmc.org/downloads/)
[![CodeFactor](https://www.codefactor.io/repository/github/PurpurMC/purpur/badge)](https://www.codefactor.io/repository/github/PurpurMC/purpur)
[![Join us on Discord](https://img.shields.io/discord/685683385313919172.svg?label=&logo=discord&logoColor=ffffff&color=7389D8&labelColor=6A7EC2)](https://purpurmc.org/discord)
2020-10-05 06:05:11 +08:00
2021-12-04 01:38:43 +08:00
[![Purpur's Stargazers](https://img.shields.io/github/stars/PurpurMC/Purpur?label=stars&logo=github)](https://github.com/PurpurMC/Purpur/stargazers)
[![Purpur Forks](https://img.shields.io/github/forks/PurpurMC/Purpur?label=forks&logo=github)](https://github.com/PurpurMC/Purpur/network/members)
[![Purpur Watchers](https://img.shields.io/github/watchers/PurpurMC/Purpur?label=watchers&logo=github)](https://github.com/PurpurMC/Purpur/watchers)
2020-10-05 06:05:11 +08:00
2021-12-04 01:41:31 +08:00
Purpur is a drop-in replacement for [Paper](https://github.com/PaperMC/Paper) servers designed for configurability, new fun and exciting gameplay features, and performance built on top of [Paper](https://github.com/PaperMC/Paper/).
2020-10-05 06:05:11 +08:00
</div>
2019-05-13 06:02:15 +08:00
## Contact
2020-10-05 06:05:11 +08:00
[![Join us on Discord](https://img.shields.io/discord/685683385313919172.svg?label=&logo=discord&logoColor=ffffff&color=7389D8&labelColor=6A7EC2)](https://discord.gg/mtAAnkk)
2020-08-15 16:20:15 +08:00
2020-10-05 06:05:11 +08:00
Join us on [Discord](https://discord.gg/mtAAnkk)
2020-08-15 16:20:15 +08:00
## Downloads
2021-12-04 01:38:43 +08:00
[![Downloads](https://img.shields.io/github/workflow/status/PurpurMC/purpur/Build?event=push&label=Downloads&logo=github)](https://purpurmc.org/downloads)
2020-08-15 16:20:15 +08:00
2021-12-04 01:38:43 +08:00
Downloads can be obtained from the [downloads page](https://purpurmc.org/downloads/) or the [downloads API](https://api.purpurmc.org).
Downloads API endpoints:
2021-07-17 07:17:54 +08:00
* List versions of Minecraft with builds available:
2021-12-05 12:35:00 +08:00
`https://api.purpurmc.org/v2/purpur`
2021-07-17 07:17:54 +08:00
* List builds for a version of Minecraft:
2021-12-05 12:35:00 +08:00
`https://api.purpurmc.org/v2/purpur/<version>`
2021-07-17 07:17:54 +08:00
* Download a specific build of a specific version:
2021-12-05 12:35:00 +08:00
`https://api.purpurmc.org/v2/purpur/<version>/<build>/download`
2021-07-17 07:17:54 +08:00
* Download the latest build for a version of Minecraft:
2021-12-05 12:35:00 +08:00
`https://api.purpurmc.org/v2/purpur/<version>/latest/download`
2019-05-13 06:02:15 +08:00
## License
2021-12-04 01:38:43 +08:00
[![MIT License](https://img.shields.io/github/license/PurpurMC/Purpur?&logo=github)](LICENSE)
2020-08-15 16:20:15 +08:00
All patches are licensed under the MIT license, unless otherwise noted in the patch headers.
2019-05-13 06:02:15 +08:00
2021-12-04 01:38:43 +08:00
See [PaperMC/Paper](https://github.com/PaperMC/Paper), and [PaperMC/Paperweight](https://github.com/PaperMC/paperweight) for the license of material used by this project.
2019-05-13 06:02:15 +08:00
2020-03-08 05:24:09 +08:00
## bStats
[![bStats Graph Data](https://bstats.org/signatures/server-implementation/Purpur.svg)](https://bstats.org/plugin/server-implementation/Purpur)
2020-08-15 16:20:15 +08:00
## API
2020-03-07 12:20:30 +08:00
2021-12-04 01:38:43 +08:00
### [Javadoc](https://purpurmc.org/javadoc)
2021-01-08 16:38:51 +08:00
### Dependency Information
Maven
```xml
<repository>
<id>purpur</id>
2021-12-05 20:20:49 +08:00
<url>https://repo.purpurmc.org/snapshots</url>
2021-01-08 16:38:51 +08:00
</repository>
```
```xml
2020-03-07 12:20:30 +08:00
<dependency>
2021-12-04 01:38:43 +08:00
<groupId>org.purpurmc.purpur</groupId>
2020-03-07 12:20:30 +08:00
<artifactId>purpur-api</artifactId>
<version>1.18.1-R0.1-SNAPSHOT</version>
2020-03-07 12:20:30 +08:00
<scope>provided</scope>
</dependency>
```
2021-01-08 16:38:51 +08:00
Gradle
```kotlin
repositories {
2021-12-05 20:20:49 +08:00
maven("https://repo.purpurmc.org/snapshots")
}
```
```kotlin
dependencies {
compileOnly("org.purpurmc.purpur", "purpur-api", "1.18.1-R0.1-SNAPSHOT")
}
```
2020-03-07 12:20:30 +08:00
Yes, this also includes all API provided by Paper, Spigot, and Bukkit.
2019-05-13 06:02:15 +08:00
## Building and setting up
2020-08-15 16:20:15 +08:00
#### Initial setup
2019-05-13 06:02:15 +08:00
Run the following commands in the root directory:
```
./gradlew applyPatches
2019-05-13 06:02:15 +08:00
```
2020-03-07 12:20:30 +08:00
2019-05-13 06:02:15 +08:00
#### Creating a patch
Patches are effectively just commits in either `Purpur-API` or `Purpur-Server`.
To create one, just add a commit to either repo and run `./gradlew rebuildPatches`, and a
2019-05-13 06:02:15 +08:00
patch will be placed in the patches folder. Modifying commits will also modify its
corresponding patch file.
2020-08-15 16:20:15 +08:00
See [CONTRIBUTING.md](CONTRIBUTING.md) for more detailed information.
2019-05-13 06:02:15 +08:00
2020-08-15 16:20:15 +08:00
#### Compiling
2019-05-13 06:02:15 +08:00
Use the command `./gradlew build` to build the API and server. Compiled JARs
will be placed under `Purpur-API/build/libs` and `Purpur-Server/build/libs`.
2020-03-07 12:20:30 +08:00
2021-12-04 01:38:43 +08:00
To get a purpurclip jar, run `./gradlew createReobfPaperclipJar`.
To install the `purpur-api` and `purpur` dependencies to your local Maven repo, run `./gradlew publishToMavenLocal`
2021-06-18 07:44:32 +08:00
Special Thanks To:
-------------
![YourKit-Logo](https://www.yourkit.com/images/yklogo.png)
[YourKit](https://www.yourkit.com/), makers of the outstanding Java profiler,
2021-06-18 07:44:32 +08:00
support open source projects of all kinds with their full featured [Java](https://www.yourkit.com/java/profiler)
and [.NET](https://www.yourkit.com/.net/profiler) application profilers. We thank them for allowing us to use their
software so we can make Purpur the best it can be.