DragonetMC / DragonProxy

🐲 A proxy to allow Minecraft: Bedrock clients to connect to Minecraft: Java Edition servers.
https://invite.gg/DragonetMC
GNU General Public License v3.0
990 stars 134 forks source link

Add better usage/setup instructions #48

Closed inxomnyaa closed 7 years ago

inxomnyaa commented 7 years ago

I really struggle to use it on my windows pc. The Readme is useless, the forum too.

Maybe we can also discuss my problem here:

When i set up DragonProxy on the same device like my Minecraft windows 10 edition, i see "DragonProxy - 1.0" in the server list. image

the config: redirects to wolvesfortress.de:25566, my spigot test server.

When i join, i simply get image

When i set up DragonProxy on the remote server, config going to "localhost:25565", and i am trying to find that port from my client, it won't show up, neither let me connect.

Dragonproxy on client & dragonproxy on server doesn't change a thing too.

DaMatrix commented 7 years ago

Most of DragonProxy doesn't work at all yet, so don't expect it to. 

inxomnyaa commented 7 years ago

In the other issues i read its working, except for chunks missing

inxomnyaa commented 7 years ago

Just figured out that i see stuff when starting it with powershell -.-


[16:25:23] [INFO] [PE Clientside] Client Connected: /192.168.5.62:57361
java.lang.NegativeArraySizeException
        at sul.utils.Buffer.readBytes(Buffer.java:27)
        at org.dragonet.proxy.utilities.LoginPacketPayload.decodeChainData(LoginPacketPayload.java:74)
        at org.dragonet.proxy.utilities.LoginPacketPayload.decode(LoginPacketPayload.java:68)
        at org.dragonet.proxy.network.adapter.MCPEClientProtocolAdapter.onClientLoginRequest(MCPEClientProtocolAdapter.java:108)
        at org.dragonet.proxy.network.adapter.MCPEClientProtocolAdapter.handlePacket(MCPEClientProtocolAdapter.java:290)
        at org.dragonet.proxy.network.adapter.MCPEClientProtocolAdapter.handlePacket(MCPEClientProtocolAdapter.java:353)
        at net.marfgamer.jraknet.session.RakNetClientSession.handlePacket(RakNetClientSession.java:153)
        at net.marfgamer.jraknet.session.RakNetSession.handlePacket0(RakNetSession.java:706)
        at net.marfgamer.jraknet.session.RakNetSession.handleEncapsulated(RakNetSession.java:641)
        at net.marfgamer.jraknet.session.RakNetSession.handleCustom(RakNetSession.java:517)
        at net.marfgamer.jraknet.server.RakNetServer.handlePacket(RakNetServer.java:592)
        at net.marfgamer.jraknet.server.RakNetServerHandler.channelRead(RakNetServerHandler.java:117)
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:372)
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:358)
        at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:350)
        at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1334)
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:372)
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:358)
        at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:926)
        at io.netty.channel.nio.AbstractNioMessageChannel$NioMessageUnsafe.read(AbstractNioMessageChannel.java:93)
        at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:571)
        at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:512)
        at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:426)
        at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:398)
        at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:877)
        at io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:144)
        at java.lang.Thread.run(Unknown Source)
[16:25:23] [INFO] [PE to PC] <<< sul.protocol.pocket101.play.Login```
inxomnyaa commented 7 years ago

And on target server:

>←[36;1m[16:32:20] ←[33;1m[WARNING] ←[33;1mThis is a development build. It may contain bugs. Do not use on production.
←[37;1m←[0m
←[36;1m[16:32:20] ←[0m[INFO] Starting up DragonProxy, version: 0.0.7 ... ←[37;1m←[0m
←[36;1m[16:32:20] ←[0m[INFO] Supported version of Minecraft PC/Mac: 1.11.2←[37;1m←[0m
←[36;1m[16:32:20] ←[0m[INFO] Supported version of Minecraft: Pocket/Windows 10 Edition: 1.0.2←[37;1m←[0m
←[36;1m[16:32:20] ←[0m[INFO] Creating thread pool(Size:0)... ←[37;1m←[0m
←[36;1m[16:32:20] ←[0m[INFO] Starting up the Minecraft PE ClientProtocolAdapter←[37;1m←[0m
←[36;1m[16:32:20] ←[0m[INFO] Binding on 0.0.0.0:19132 ... ←[37;1m←[0m
←[36;1m[16:32:20] ←[0m[INFO] The proxy has started! ←[37;1m←[0m
←[36;1m[16:32:20] ←[0m[INFO] [PE Clientside] Listening for PE connections←[37;1m←[0m
←[36;1m[16:32:20] ←[31;1m[SEVERE] [PE Clientside] An unhandled exception has occured with the session: /45.79.134.18:555
39←[37;1m←[0m
java.lang.IndexOutOfBoundsException: readerIndex(20) + length(1) exceeds writerIndex(20): UnpooledUnsafeHeapByteBuf(ridx
: 20, widx: 20, cap: 20)
        at io.netty.buffer.AbstractByteBuf.checkReadableBytes0(AbstractByteBuf.java:1413)
        at io.netty.buffer.AbstractByteBuf.readByte(AbstractByteBuf.java:687)
        at net.marfgamer.jraknet.Packet.read(Packet.java:107)
        at net.marfgamer.jraknet.Packet.checkMagic(Packet.java:288)
        at net.marfgamer.jraknet.protocol.status.UnconnectedPing.decode(UnconnectedPing.java:64)
        at net.marfgamer.jraknet.server.RakNetServer.handlePacket(RakNetServer.java:486)
        at net.marfgamer.jraknet.server.RakNetServerHandler.channelRead(RakNetServerHandler.java:117)
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:372)
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:358)
        at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:350)
        at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1334)
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:372)
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:358)
        at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:926)
        at io.netty.channel.nio.AbstractNioMessageChannel$NioMessageUnsafe.read(AbstractNioMessageChannel.java:93)
        at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:571)
        at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:512)
        at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:426)
        at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:398)
        at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:877)
        at io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:144)
        at java.lang.Thread.run(Unknown Source)
←[36;1m[16:32:20] ←[0m[INFO] [PE Clientside] Client /212.204.61.34:57361 about to connect←[37;1m←[0m
←[36;1m[16:32:20] ←[0m[INFO] [PE Clientside] Client Connected: /212.204.61.34:57361←[37;1m←[0m
java.lang.NegativeArraySizeException
        at sul.utils.Buffer.readBytes(Buffer.java:27)
        at org.dragonet.proxy.utilities.LoginPacketPayload.decodeChainData(LoginPacketPayload.java:74)
        at org.dragonet.proxy.utilities.LoginPacketPayload.decode(LoginPacketPayload.java:68)
        at org.dragonet.proxy.network.adapter.MCPEClientProtocolAdapter.onClientLoginRequest(MCPEClientProtocolAdapter.j
ava:108)
        at org.dragonet.proxy.network.adapter.MCPEClientProtocolAdapter.handlePacket(MCPEClientProtocolAdapter.java:290)

        at org.dragonet.proxy.network.adapter.MCPEClientProtocolAdapter.handlePacket(MCPEClientProtocolAdapter.java:353)

        at net.marfgamer.jraknet.session.RakNetClientSession.handlePacket(RakNetClientSession.java:153)
        at net.marfgamer.jraknet.session.RakNetSession.handlePacket0(RakNetSession.java:706)
        at net.marfgamer.jraknet.session.RakNetSession.handleEncapsulated(RakNetSession.java:641)
        at net.marfgamer.jraknet.session.RakNetSession.handleCustom(RakNetSession.java:517)
        at net.marfgamer.jraknet.server.RakNetServer.handlePacket(RakNetServer.java:592)
        at net.marfgamer.jraknet.server.RakNetServerHandler.channelRead(RakNetServerHandler.java:117)
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:372)
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:358)
        at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:350)
        at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1334)
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:372)
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:358)
        at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:926)
        at io.netty.channel.nio.AbstractNioMessageChannel$NioMessageUnsafe.read(AbstractNioMessageChannel.java:93)
        at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:571)
        at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:512)
        at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:426)
        at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:398)
        at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:877)
        at io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:144)
        at java.lang.Thread.run(Unknown Source)
←[36;1m[16:32:20] ←[0m[INFO] [PE to PC] <<< sul.protocol.pocket101.play.Login←[37;1m←[0m
TheDiamondYT1 commented 7 years ago

How come your command prompt isint showing the colours?

inxomnyaa commented 7 years ago

Blame Windows server 2012 R2

DaMatrix commented 7 years ago

@thebigsmileXD well even despite that, i can login fine, just there's nothing to see other than chat. and no, it's not that we "just need to get chunks working". once we get chunks working we can start working on everything else.

inxomnyaa commented 7 years ago

@DaMatrix are you using 1.0.3, Windows 10 edition or MCPE?

DaMatrix commented 7 years ago

i've used 1.0.3 on android and mcpelauncher-linux. also why the thumbs-down?

whirvis commented 7 years ago

As the creator of JRakNet I just want to say JRakNet now has a maven repository and is now on version 2.5.1, which has fixed a major bug preventing split packets from being sent correctly. Also, always be on the lookout for updates as if I ever find a bug I fix it and push a new update as soon as possible Later today I plan to release version 2.5.2 which will add support for handling and sending raw data packets with the server and client, making the UT3 Query Protocol possible to implement :)

Simply go here for info how to use the maven repository

MrPowerGamerBR commented 7 years ago

Can confirm that JRakNet is now "usable" for Minecraft Pocket Edition servers.

My Nukkit fork (shameless plug https://github.com/PocketDreams/SequinLand ) uses JRakNet instead of Nukkit's buggy RakNet and it works perfectly, even better than Nukkit's RakNet!

DaMatrix commented 7 years ago

@MarfGamer #49 :D

whirvis commented 7 years ago

@DaMatrix I have updated JRakNet to version v2.6.1 which adds some useful features that are needed to implement the UT3 Query protocol :) If possible, I suggest you update the fork

inxomnyaa commented 7 years ago

It should be a submodule.

DaMatrix commented 7 years ago

No, it should not. We're developing DragonProxy, net jRakNet, and therefore people should not have to compile JRakNet to build the project.

inxomnyaa commented 7 years ago

I thought for git-clone purposes.

DaMatrix commented 7 years ago

?

whirvis commented 7 years ago

R.I.P.