From 321c2f1772839747e0e80017bc0c7acaae6bdd3c Mon Sep 17 00:00:00 2001 From: Nanit Date: Fri, 27 Nov 2020 21:35:51 +0200 Subject: [PATCH] Update readme. Minor changes in settings file and build script --- README.md | 35 ++++++++++++++++++- build.gradle | 9 ++--- settings.yml | 60 +++++++++++++++++++++++++++++++++ src/main/resources/settings.yml | 2 +- 4 files changed, 100 insertions(+), 6 deletions(-) create mode 100644 settings.yml diff --git a/README.md b/README.md index 2e61922..84f78e3 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,39 @@ ## NanoLimbo This is lightweight minecraft limbo server, written on Java with Netty. +The main goal of the project is maximum simplicity with a minimum number of sent and processed packets. +This limbo is empty, there are no ability to set schematic building since +this is not necessary. You can send useful information in chat or BossBar. -**This project currently in developing...** +The general features is: +* High performance. The server not saves and not cached any useless (for limbo) data. +* Support for BungeeCord and Velocity info forwarding. +* All necessary data are configurable. +* Lightweight. App size is around 1.5 MB. +### Commands + +There are no commands. To close server just run Ctrl+C in terminal. It will be closed correctly. + +### Installation + +The installation process is simple. + +1. Put jar file folder you want. +2. Create start script as you did it with bukkit/spigot/etc. with command like this: +`java -jar .jar` +3. The server will create `settings.yml` file. It's a server configuration. +4. Configure it as you want and restart server. + +I recommend you set parameter `debugLevel` to `0` when you finish test server and run it into production. +This will disable some useless for production information in the console. + +### Contributing + +You can create pull request, if you found some bug, optimization ability, or you wanna add some functional, +which will not significantly load the server. + +### Building + +The app use `Gradle` to build and minimize .jar file. +Run `shadowJar` task to build minimized executable jar file. diff --git a/build.gradle b/build.gradle index d3f7274..8ab354a 100644 --- a/build.gradle +++ b/build.gradle @@ -1,4 +1,5 @@ plugins { + id 'com.github.johnrengelman.shadow' version '6.1.0' id 'java' } @@ -13,7 +14,7 @@ dependencies { testCompile group: 'junit', name: 'junit', version: '4.12' compile group: 'org.yaml', name: 'snakeyaml', version: '1.27' compile files('libs/napi-configurate-yaml-1.0.jar') - compile group: 'io.netty', name: 'netty-all', version: '4.1.54.Final' + compile "io.netty:netty-handler:4.1.54.Final" compile group: 'net.kyori', name: 'adventure-nbt', version: '4.1.1' } @@ -21,8 +22,8 @@ jar { manifest { attributes('Main-Class': 'ru.nanit.limbo.NanoLimbo') } +} - from { - configurations.compile.collect { it.isDirectory() ? it : zipTree(it) } - } +shadowJar{ + minimize() } \ No newline at end of file diff --git a/settings.yml b/settings.yml new file mode 100644 index 0000000..40a8546 --- /dev/null +++ b/settings.yml @@ -0,0 +1,60 @@ +# +# NanoLimbo configuration +# + +# Server's host address and port. Set ip empty to use public address +bind: + ip: 'localhost' + port: 65535 + +# Max amount of players can join to server +maxPlayers: 100 + +# Server's data in servers list +ping: + description: '{"text": "&9NanoLimbo"}' + version: 'NanoLimbo' + +# Available dimensions: OVERWORLD, NETHER, THE_END +dimension: THE_END + +# Spawn position in the world +spawnPosition: + x: 0.0 + y: 64.0 + z: 0.0 + yaw: 0.0 + pitch: 0.0 + +# Message sends when player join to server +joinMessage: + enable: true + text: '{"text": "&eWelcome to the Limbo!"}' + +# Bossbar sends when player join to server +bossBar: + enable: true + text: '{"text": "Welcome to the Limbo!"}' + health: 1.0 + # Available colors: PINK, BLUE, RED, GREEN, YELLOW, PURPLE, WHITE + color: PINK + # Available divisions: SOLID, DASHES_6, DASHES_10, DASHES_12, DASHES_20 + division: SOLID + +# Player info forwarding support. Available types: NONE, LEGACY, MODERN +# Don't use secret if you not use MODERN type +infoForwarding: + type: LEGACY + secret: '' + +# Read timeout for connections in milliseconds +readTimeout: 30000 + +# Define debug level. On release, i recommend to use 0 level, since +# there are many useless for release information about ping, received packets, etc. +# Levels: +# 0 - Display only useful info +# 1 - Display info and some debug +# 2 - Display info and warnings +# 3 - Display info, warnings, errors +debugLevel: 3 \ No newline at end of file diff --git a/src/main/resources/settings.yml b/src/main/resources/settings.yml index 40a8546..5e2a98f 100644 --- a/src/main/resources/settings.yml +++ b/src/main/resources/settings.yml @@ -44,7 +44,7 @@ bossBar: # Player info forwarding support. Available types: NONE, LEGACY, MODERN # Don't use secret if you not use MODERN type infoForwarding: - type: LEGACY + type: NONE secret: '' # Read timeout for connections in milliseconds