From 700fc8e8e860681ddfb3cd0331e9cf6e3a9b1303 Mon Sep 17 00:00:00 2001 From: wtb-lol <62783076+wtb-lol@users.noreply.github.com> Date: Fri, 4 Feb 2022 17:29:48 +0800 Subject: [PATCH] Fixed some bugs,Updated --- README.md | 5 ++- README_zh.md | 3 +- build.gradle | 41 +++++++++++++++++++ settings.gradle | 4 ++ .../java/cn/rukkit/network/packet/Packet.java | 5 ++- start.bat | 1 + start.sh | 1 + 7 files changed, 55 insertions(+), 5 deletions(-) create mode 100644 start.bat create mode 100644 start.sh diff --git a/README.md b/README.md index a795f32..e098f84 100644 --- a/README.md +++ b/README.md @@ -9,17 +9,18 @@ This project based on netty framework so it as stable as Dedicated Servers. ## Progress - [x] Basic Game Play - [x] Custom maps -- [x] Game sync & rejoin (only support offical maps) +- [x] Game sync & rejoin (support offical maps and custom too) - [x] Basic Plugin System - [x] Mod server by mod's metadata (need a exportTool) - [x] 10p+ Multiplayer supported (only 1.14+) +- [x] No-stop game future. - [ ] Game hook(Events) supported some event not all. - [ ] Anti-Cheat sync (need a game Simulation layer) - [ ] Advanced gameCommand & save modification. (it's hard to make changes to them,the most result is crash the game.) - [ ] Relay mode (maybe in future version) ## About -Some plugin system design referenced Nukkit. +Some plugin system design referenced [Nukkit](https://github.com/Nukkit/Nukkit). ## Unstable warning this is still a unstable build.If you find bugs,please commit issues. diff --git a/README_zh.md b/README_zh.md index 554876b..8221f94 100644 --- a/README_zh.md +++ b/README_zh.md @@ -10,13 +10,14 @@ Rukkit是一个第三方铁锈战争服务器,你可以使用它来构建铁 - [x] 服务端插件系统 - [x] 基于元信息的mod系统(需要拿工具转换rwmod) - [x] 10人以上玩家支持 (1.14+) +- [x] 不停止模式(支持随进随出,投票换图) - [ ] 游戏事件机制(支持一些) - [ ] 反作弊检查(需要游戏模拟层,做不出) - [ ] 游戏指令重构建. (比较困难,而且容易炸游戏.) - [ ] 中继模式 (咕咕咕) ## 关于 -插件系统设计借鉴了下Rukkit( +插件系统设计借鉴[Nukkit](https://github.com/Nukkit/Nukkit) ## 不稳定警告 这个版本仍然不稳定。如果你发现的bug 请提出issue,或者PR,感谢你的支持! diff --git a/build.gradle b/build.gradle index e5843d1..5ac30ca 100644 --- a/build.gradle +++ b/build.gradle @@ -8,6 +8,10 @@ // Apply the java plugin to add support for Java apply plugin: 'java' +apply plugin: 'application' +[compileJava, compileTestJava, javadoc]*.options*.encoding = 'UTF8' +final def RUKKIT_VERSION = "0.8.0" +mainClassName = 'cn.rukkit.RukkitLauncher' // In this section you declare where to find the dependencies of your project repositories { @@ -29,5 +33,42 @@ dependencies { //testCompile 'junit:junit:4.12' } +tasks.withType(Javadoc) { + options.encoding = 'UTF-8' +} + +task buildRukkit(dependsOn: jar) { + doLast { + println("Okay.Doing last step...") + mkdir("./build/outputs") + copy() { + CopySpec copySpec -> + from file("${rootDir}/libs") + into "${rootDir}/build/outputs/libs" + } + copy() { + CopySpec copySpec -> + from file("${rootDir}/build/libs/Rukkit.jar") + into "${rootDir}/build/outputs/" + rename ('Rukkit.jar', "Rukkit-${RUKKIT_VERSION}.jar") + } + copy() { + CopySpec copySpec -> + from file("${rootDir}/start.sh") + into "${rootDir}/build/outputs/"; + } + copy() { + CopySpec copySpec -> + from file("${rootDir}/start.bat") + into "${rootDir}/build/outputs/"; + } + println(""" + -- Well done! -- +targetRukkitVersion: ${RUKKIT_VERSION} +Check the build/outputs to get the result. +""") + } +} +run {} diff --git a/settings.gradle b/settings.gradle index 6cf37d9..ffbea32 100644 --- a/settings.gradle +++ b/settings.gradle @@ -16,3 +16,7 @@ include 'services:webservice' */ rootProject.name = 'Rukkit' +ext { + rukkitVersion = '0.8.0' + supportGameVersion = '151' +} diff --git a/src/main/java/cn/rukkit/network/packet/Packet.java b/src/main/java/cn/rukkit/network/packet/Packet.java index 208c0fe..e222a44 100644 --- a/src/main/java/cn/rukkit/network/packet/Packet.java +++ b/src/main/java/cn/rukkit/network/packet/Packet.java @@ -308,11 +308,12 @@ public static Packet sendPullSave() throws IOException { out.writeBoolean(true); out.writeBoolean(false); out.startBlock("gameSave", false); - FileInputStream fileInputStream = new FileInputStream(Rukkit.getEnvPath() + "/defaultSave"); + /*FileInputStream fileInputStream = new FileInputStream(Rukkit.getEnvPath() + "/defaultSave"); byte[] bArr = new byte[fileInputStream.available()]; fileInputStream.read(bArr); log.debug("Save Size={}", bArr.length); - out.write(bArr); + out.write(bArr);*/ + out.write(Rukkit.getSaveManager().defaultSave.arr); out.endBlock(); /*GzipEncoder encodeStream = out.getEncodeStream("gameSave", false); FileInputStream fileInputStream = new FileInputStream(new StringBuffer().append(Rukkit.getEnvPath()).append("/defaultSave").toString()); diff --git a/start.bat b/start.bat new file mode 100644 index 0000000..13d19c5 --- /dev/null +++ b/start.bat @@ -0,0 +1 @@ +java -Djava.net.preferIPv4Stack=true -Xmx1000M -Dfile.encoding=UTF-8 -Djava.library.path=. -cp "Rukkit-0.8.0.jar;libs/*" cn.rukkit.RukkitLauncher \ No newline at end of file diff --git a/start.sh b/start.sh new file mode 100644 index 0000000..13d19c5 --- /dev/null +++ b/start.sh @@ -0,0 +1 @@ +java -Djava.net.preferIPv4Stack=true -Xmx1000M -Dfile.encoding=UTF-8 -Djava.library.path=. -cp "Rukkit-0.8.0.jar;libs/*" cn.rukkit.RukkitLauncher \ No newline at end of file