Skip to content

Commit

Permalink
Chiyogami first commit
Browse files Browse the repository at this point in the history
  • Loading branch information
bea4dev committed Jan 8, 2022
1 parent 4eb8305 commit 44a8c3a
Show file tree
Hide file tree
Showing 4 changed files with 2,017 additions and 52 deletions.
87 changes: 50 additions & 37 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,37 +1,50 @@
# ForkTest - A Paper fork, using paperweight

This is an example project, showcasing how to setup a fork of Paper (or any other fork using paperweight), using paperweight.

The files of most interest are
- build.gradle.kts
- settings.gradle.kts
- gradle.properties

## Tasks

```
Paperweight tasks
-----------------
applyApiPatches
applyPatches
applyServerPatches
cleanCache - Delete the project setup cache and task outputs.
generateDevelopmentBundle
paperclipJar - Build a runnable paperclip jar
rebuildApiPatches
rebuildPatches
rebuildServerPatches
reobfJar - Re-obfuscate the built jar to obf mappings
runDev - Spin up a non-shaded non-remapped test server
runReobf - Spin up a test server from the reobfJar output jar
runShadow - Spin up a test server from the shadowJar archiveFile
```

## Branches

Each branch of this project represents an example:

- [`main` is the standard example](https://github.com/PaperMC/paperweight-examples/tree/main)
- [`submodules` shows how paperweight can be applied on a fork using the more traditional git submodule system](https://github.com/PaperMC/paperweight-examples/tree/submodules)
- [`mojangapi` shows how a fork could patch arbitrary non-git directories (such as `Paper-MojangAPI`)](https://github.com/PaperMC/paperweight-examples/tree/mojangapi)
- [`submodules-mojang` shows the same as `mojangapi`, but on the git submodules setup from `submodules`](https://github.com/PaperMC/paperweight-examples/tree/submodules-mojangapi)
![chiyogami](https://user-images.githubusercontent.com/34712108/135766838-98102b74-0990-4408-af3d-d576edb0b8fb.png)

Chiyogami-Serverは [Paper](https://github.com/PaperMC/Paper) をフォークしたものであり、Spigotプラグインを動作させつつマルチスレッド実行を可能とするMinecraftサーバーソフトです。

[![Support Server](https://img.shields.io/discord/893173646728757268.svg?label=Discord&logo=Discord&colorB=7289da&style=for-the-badge)](https://discord.com/invite/KKQNAPsFR6)

[Download](https://github.com/Be4rJP/Chiyogami/releases)

[MonitorPlugin](https://github.com/Be4rJP/ChiyogamiMonitor)

Other version
------
* [1.15.2](https://github.com/Be4rJP/Chiyogami/tree/ver/1.15.2)
* [1.16.5](https://github.com/Be4rJP/Chiyogami/tree/ver/1.16.5)
* [1.17.1](https://github.com/Be4rJP/Chiyogami/tree/ver/1.17.1)

Notes
------
- [x] このサーバーは開発段階であるため十分なテストがされていません
- [x] このサーバーを実行する前には必ずワールドデータ等のバックアップをしてください
- [x] issue等のフィードバックをお待ちしています。

API
------
このサーバーの機能を最大限生かす為のAPIが用意されています

以下から利用できます

https://github.com/Be4rJP/ChiyogamiLib

How to build
------

ビルドを実行するには、git, jdk16が必要です。

1. リポジトリを [ダウンロード](https://codeload.github.com/Be4rJP/Chiyogami/zip/refs/heads/ver/1.17.1) or clone して解凍します。
2. 解凍したフォルダ上でWindowsの場合はgit-bash、linux or Macの場合はターミナルを開き```./gradlew applyPatches```を実行したあと```./gradlew reobfJar```を実行します
3. ```Chiyogami-Server/build/libs```内にjarファイルが生成されていれば成功です

For developer
------

このサーバーはワールドにそれぞれ専用のスレッドを割り当てて、動作するようになっています。

コマンドやBukkitRunnable系の処理はマルチスレッド化した中には含まれていないので互換性を維持し易くなっています。

Eventには同時に実行されるのを防ぐためロックするように書き換えましたが、ワールドごとに実行スレッドが違うためワールド系のEventの実行順序が入れ替わる可能性があるため注意が必要です。

コードを閲覧したい場合は、ビルドした後に ```Chiyogami-Server/src/``` をご覧ください。
コードを変更した場合は上記のソースを変更した後に```./gradlew reobfJar```を実行することでビルドができます。
Loading

0 comments on commit 44a8c3a

Please sign in to comment.