rukkitdev / rukkit Goto Github PK
View Code? Open in Web Editor NEW一个基于Netty框架的铁锈战争第三方服务器。A custom RustedWarfare Server based on Netty framework
License: GNU Affero General Public License v3.0
一个基于Netty框架的铁锈战争第三方服务器。A custom RustedWarfare Server based on Netty framework
License: GNU Affero General Public License v3.0
直接加载rwmod
局内根据玩家先后被击败的顺序进行排名,生成单局排名的json文件,网页可以直接调用显示出来排名
服务器端如何知道玩家是否失败
This is amazing server for rusted warfare! I would like contribute to it by translating it to English and Russian.
(ubuntu server 21.10 arm,openjdk-16-jdk-headless)
ubuntu@ubuntu:/rw2$ ls/rw2$ ./start.sh
Rukkit-0.8.2-dev.jar libs start.bat start.sh
ubuntu@ubuntu:
Error: Could not find or load main class cn.rukkit.RukkitLauncher
Caused by: java.lang.ClassNotFoundException: cn.rukkit.RukkitLauncher
完成插件系统的所有事件 Events和对应的生命周期
错误: 找不到或无法加载主类 .net.preferIPv4Stack=true
原因: java.lang.ClassNotFoundException: /net/preferIPv4Stack=true
根据uuid增加黑名单列表和白名单列表的功能,以方便指定玩家进入服务器、恶意玩家禁止进入服务器。
I saw that no other server client have this feature. Probably to implement this we should have a bot code written and packed in server? But I guess it's also can be made with plugins. Is this even possible?
可能会同步到新进入玩家的同步上,导致游戏重启或闪退。
rukkit.yml里的debug选项不能抑制DEBUG的log输出。这个问题不大
喜闻乐见的编码问题。在某些环境下,英文外的配置文件会出现乱码问题即全部变为'?'
Rukkit版本需要统一用一个变量管理,这个问题gradle或许可以解决。
ubuntu server 20.04
openjdk-17-jre-headless
启动命令是java -cp libs/*:Rukkit.jar cn.rukkit.RukkitLauncher
程序是刚刚编译的
…………
2022-07-29 21:12:40.082 [Thread-1] INFO cn.rukkit.network.GameServer - Done! (481ms) 2022-07-29 21:12:40.160 [nioEventLoopGroup-2-1] ERROR cn.rukkit.network.GameServer - [id: 0x9731226e] REGISTERED 2022-07-29 21:12:40.162 [nioEventLoopGroup-2-1] ERROR cn.rukkit.network.GameServer - [id: 0x9731226e] BIND(0.0.0.0/0.0.0.0:65535) 2022-07-29 21:12:40.167 [nioEventLoopGroup-2-1] ERROR cn.rukkit.network.GameServer - [id: 0x9731226e, L:/[0:0:0:0:0:0:0:0]:65535] ACTIVE 2022-07-29 21:12:47.776 [nioEventLoopGroup-2-1] ERROR cn.rukkit.network.GameServer - [id: 0x9731226e, L:/[0:0:0:0:0:0:0:0]:65535] READ: [id: 0xa5146738, L:/xxx.xxx.xxx.xxx:65535 - R:/xxx.xxx.xxx.xxx:1616] 2022-07-29 21:12:47.781 [nioEventLoopGroup-2-1] ERROR cn.rukkit.network.GameServer - [id: 0x9731226e, L:/[0:0:0:0:0:0:0:0]:65535] READ COMPLETE 2022-07-29 21:12:47.804 [nioEventLoopGroup-3-1] INFO cn.rukkit.network.ConnectionHandler - New connection established:/xxx.xxx.xxx.xxx:1616 2022-07-29 21:12:47.828 [nioEventLoopGroup-3-1] INFO cn.rukkit.network.ConnectionHandler - Got Player(package=com.corrodinggames.rtt, version=151, name=xxx, uuid=239C36A3507CB2051486FA4A734B375CF9139FF85B1FB82401BCD578B9606B53, verify=c:114514m:99627420:7436487041:1145142:14886820003:1425144:-13845925:2745146:-1447347808t1:743648704d:572570 2022-07-29 21:12:49.828 [nioEventLoopGroup-3-1] WARN cn.rukkit.network.ConnectionHandler - Exception happened java.lang.ArrayIndexOutOfBoundsException: Index -1 out of bounds for length 20 at cn.rukkit.game.PlayerManager.remove(PlayerManager.java:82) at cn.rukkit.game.PlayerManager.remove(PlayerManager.java:67) at cn.rukkit.network.ConnectionManager.discard(ConnectionManager.java:87) at cn.rukkit.network.ConnectionHandler.channelInactive(ConnectionHandler.java:63) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:240)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:226) at io.netty.channel.AbstractChannelHandlerContext.fireChannelInactive(AbstractChannelHandlerContext.java:219) at io.netty.handler.codec.ByteToMessageDecoder.channelInputClosed(ByteToMessageDecoder.java:379) at io.netty.handler.codec.ByteToMessageDecoder.channelInactive(ByteToMessageDecoder.java:344) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:240) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:226) at io.netty.channel.AbstractChannelHandlerContext.fireChannelInactive(AbstractChannelHandlerContext.java:219) at io.netty.channel.DefaultChannelPipeline$HeadContext.channelInactive(DefaultChannelPipeline.java:1299) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:240) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:226) at io.netty.channel.DefaultChannelPipeline.fireChannelInactive(DefaultChannelPipeline.java:903) at io.netty.channel.AbstractChannel$AbstractUnsafe$8.run(AbstractChannel.java:768) at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:399) at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:464) at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:131)
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
at java.base/java.lang.Thread.run(Thread.java:833)
2022-07-29 21:12:57.092 [nioEventLoopGroup-2-1] ERROR cn.rukkit.network.GameServer - [id: 0x9731226e, L:/[0:0:0:0:0:0:0:0]:65535] READ: [id: 0x89d12c1c, L:/xxx.xxx.xxx.xxx:65535 - R:/xxx.xxx.xxx.xxx:1652]
2022-07-29 21:12:57.096 [nioEventLoopGroup-2-1] ERROR cn.rukkit.network.GameServer - [id: 0x9731226e, L:/[0:0:0:0:0:0:0:0]:65535] READ COMPLETE
2022-07-29 21:12:57.113 [nioEventLoopGroup-3-2] INFO cn.rukkit.network.ConnectionHandler - New connection established:/xxx.xxx.xxx.xxx:1652
2022-07-29 21:12:57.134 [nioEventLoopGroup-3-2] INFO cn.rukkit.network.ConnectionHandler - Got Player(package=com.corrodinggames.rtu, version=151, name=Unnamed583, uuid=F2B2D4F147D4CED6A55AAF199C33B4053B09A414C16B5083ED0B17045E48B05E, verify=c:114514m:99627420:7436487041:1145142:14886820003:1425144:-13845925:2745146:-1447347808t1:743648704d:572570
2022-07-29 21:13:01.939 [nioEventLoopGroup-2-1] ERROR cn.rukkit.network.GameServer - [id: 0x9731226e, L:/[0:0:0:0:0:0:0:0]:65535] READ: [id: 0x2a99e7ea, L:/xxx.xxx.xxx.xxx:65535 - R:/xxx.xxx.xxx.xxx:1677]
2022-07-29 21:13:01.939 [nioEventLoopGroup-2-1] ERROR cn.rukkit.network.GameServer - [id: 0x9731226e, L:/[0:0:0:0:0:0:0:0]:65535] READ COMPLETE
2022-07-29 21:13:01.949 [nioEventLoopGroup-3-1] INFO cn.rukkit.network.ConnectionHandler - New connection established:/xxx.xxx.xxx.xxx:1677
2022-07-29 21:13:01.974 [nioEventLoopGroup-3-1] INFO cn.rukkit.network.ConnectionHandler - Got Player(package=com.corrodinggames.rtt, version=151, name=abc, uuid=239C36A3507CB2051486FA4A734B375CF9139FF85B1FB82401BCD578B9606B53, verify=c:114514m:99627420:7436487041:1145142:14886820003:1425144:-13845925:2745146:-1447347808t1:743648704d:572570
2022-07-29 21:13:09.153 [nioEventLoopGroup-3-2] WARN cn.rukkit.network.ConnectionHandler - Exception happened
java.net.SocketException: Connection reset
at java.base/sun.nio.ch.SocketChannelImpl.throwConnectionReset(SocketChannelImpl.java:394)
at java.base/sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:426)
at io.netty.buffer.UnpooledUnsafeDirectByteBuf.setBytes(UnpooledUnsafeDirectByteBuf.java:368)
at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:892)
at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:243)
at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:119)
at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:646)
at io.netty.channel.nio.NioEventLoop.processSelectedKeysPlain(NioEventLoop.java:546)
at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:500)
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:460)
at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:131)
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
at java.base/java.lang.Thread.run(Thread.java:833)
启动脚本不工作。需要重写
(ubuntu 21.10 arm,openjdk-8-jdk-headless)
ubuntu@ubuntu:~/r$ ./gradlew
FAILURE: Build failed with an exception.
Where:
Build file '/home/ubuntu/r/build.gradle' line: 28
What went wrong:
A problem occurred evaluating root project 'Rukkit'.
Supplied String module notation 'netty' is invalid. Example notations: 'org.gradle:gradle-core:2.2', 'org.mockito:mockito-core:1.9.5:javadoc'.
Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
Get more help at https://help.gradle.org
BUILD FAILED in 5s
这个功能在NoStop模式下非常有用,可以防止人员反复进出带来的游戏体验问题。
How to install and run the project,Hope there is a tutorial
添加多语言支持
单个玩家延迟1000ms
Rukkit never support publish itself to the official list.If you need this feature,plugin its a good choice.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.