sillerud / BungeeCord

BungeeCord, the 6th in a generation of server portal suites. Efficiently proxies and maintains connections and transport between multiple Minecraft servers.
http://www.spigotmc.org/threads/bungeecord.392/
Other
24 stars 25 forks source link

Updade to 1.7.7 #18

Open net32 opened 10 years ago

net32 commented 10 years ago

hey, updade the project for compatibility with 1.7.8 :smile:

Katelyn-SN commented 10 years ago

That likely will never happen as that would requiring 3 protocols side by side when 2 is complicated enough already.

literalplus commented 10 years ago

Vanilla Bungee has it and supporting 1.7.2 and 1.7.(9 now) is just a few lines, if I remember correctly. -- This message was sent from my tablet. Check my homepage!

On 15 Apr 2014, tf101-wizard notifications@github.com wrote:

That likely will never happen as that would requiring 3 protocols side by side when 2 is complicated enough already.


Reply to this email directly or view it on GitHub: https://github.com/TheUnnamedDude/BungeeCord/issues/18#issuecomment-40441091

suchtie664 commented 10 years ago

Is it possible with this code? https://github.com/SpigotMC/BungeeCord/commit/cd518690fd692350c40e93e9c1c57d6e50f8e79e and https://github.com/SpigotMC/BungeeCord/commit/1d3adc53170b5da41852a513ba413dbd3e57c7ec Correct me if I wrong.

literalplus commented 10 years ago

Yes, that's what I was referring to.

(Might make a PR once I get time)

Katelyn-SN commented 10 years ago

You guys don't understand how it works you can't just drop these patches into this version of bungee as the protocol hack that this version uses is heavily modified nothing that you think will work with it will not. Since this system requires to run 2 different protocol systems side by side.

literalplus commented 10 years ago

I understand that it is not possible to throw in these patches 1:1, but I think you see that it is possible to support 1.7.9 too with little effort. (Or medium, if you want) (For example, we'd need to have the uuid methods on players too)

Katelyn-SN commented 10 years ago

Its not as easy as you may think i did the patch already and it works and allows clients to connect but there is constant issues with it having to understand packets likely due to uuid name changes

net32 commented 10 years ago

I did the code to adapt the UUID of version 1.7.6, but 1.6.4 Spigot is unsuitable for UUID when a player is in the same chunk that another conflict showing that the UUID is invalid UUID.

Katelyn-SN commented 10 years ago

Would you mind sharing the code so we can maybe work out a solution

net32 commented 10 years ago

I will make a fork

Sin96 commented 10 years ago

i got a workin BungeeCord, which allows to join with 1.7.6+ on a 1.6.4 Spigot server. I have only one problem anymore. A 1.7.6+ Client doesn't load the skins.. so you cannot see a new spawned player for about 20-30 seconds. After that the client sets a standard skin. Do you have any ideas to fix that?

Katelyn-SN commented 10 years ago

Thats a very simple patch and was done by md_5 weeks ago https://github.com/SpigotMC/BungeeCord/commit/1d3adc53170b5da41852a513ba413dbd3e57c7ec

Also please share your code we are eager to get our servers working as right now we are having to redirect users with direct ips

Katelyn-SN commented 10 years ago

Also @net32 the fork is not very helpful if you don't commit your changes to it :P

net32 commented 10 years ago

@tf101-wizard hey, look at my fork: https://github.com/net32/BungeeCord the error of a player being in the same chunk that other still persists only in version 1.7.6: http://prntscr.com/3beiv4

Katelyn-SN commented 10 years ago

Give me a minute mine worked all I did was change protocol mapping from 4-5 with no issues haha worst method but it worked

Katelyn-SN commented 10 years ago

Looks like you didn't isolate use of uuid for that client so basicly its looking for the uuid of the 1.6 player and cannot find it

net32 commented 10 years ago

not yet understood why the error only occurs when two players are in the same chunk

Katelyn-SN commented 10 years ago

1.6.4 clients use the name system when 1.7.6+ clients use uuid support see if the error occurs with just changing the 4 to a 5 in packet mapping also send me your bungee and server logs so I can see why your uuid changes are causing that issue

net32 commented 10 years ago

I'm almost giving up, I think I'll upgrade everything to 1.7 ):

Katelyn-SN commented 10 years ago

We can get it just get me those things I asked for

net32 commented 10 years ago

make a clone of my fork and compile, the problem is only with the protocol 5, if you can get into my test server: 177.96.42.249

Katelyn-SN commented 10 years ago

No PC ATM u will have to do that on the long ride home from a small camping trip 1-2 hours I'll be around with a PC to help add my Skype kevhawk2914 so we can elaborate

Sn0wStorm commented 10 years ago

I have made a version that is fully working with the new Protocol, only drawback: Fake Players (NPCs) have no skin on Protocol 5. This is due to how the Skinsystem changed.

You are getting the Client Error, because you are not rewriting the Spawn Player Packet (The current rewrite just adds wowe_such_packet as UUID)

Its a rather hacky way to determine which protocol to rewrite the Spawn Player Packet to, but it works. I still have to clean up the code, remove Debug stuff, do testing and I have almost no time over the next days, so it may take a while.

Sin96 commented 10 years ago

can u upload it? maybe i can fix that spawn player problem

Sn0wStorm commented 10 years ago

Well as said its fully working except NPC Skins. Sadly I have no time to fork and upload it right now.

suchtie664 commented 10 years ago

can somebody fix @net32 problem?

Katelyn-SN commented 10 years ago

Well that is essentially what Sn0wStorm is trying to fix can you possibly upload your source to dropbox @Sn0wStorm so i can get it done for these guys and if you can a diff :)

net32 commented 10 years ago

@tf101-wizard @Sn0wStorm @suchtie664 @Sin96 : Solved: https://github.com/TheUnnamedDude/BungeeCord/pull/20

Sn0wStorm commented 10 years ago

Sorry that I could not upload this earlier:

https://github.com/Sn0wStorm/BungeeCord

This is my fork of it, I will not create a Pull Request as of now, because the code ist not cleaned.

Sn0wStorm commented 10 years ago

There is still a Problem with Player Heads in 1.7.6 +
If a Player Head with Skin is within visible range, the Client crashes completely. Its no Packet related disconnect but a full crash. Does somebody know a solution to this problem? To reproduce you can give yourself a player head with skin with this command: /give name 397:3 1 player:name

floh22 commented 10 years ago

well it seems like the fork @Sn0wStorm made still works with 1.7.10 though there weren't any major changes to its not very suprising ^^ Still very awesome fork :)

net32 commented 10 years ago

yes, but still have the problem of head

Koya07 commented 10 years ago

Since I cannot speak English, I have translated.

only 1.7.7,it is made into the head of Steve. I can not good programming.

Sn0wStorm commented 10 years ago

I am working on a solution for the Problem with the heads.

But it will not have any skin, so every head will be Steve for the new versions.

Sn0wStorm commented 10 years ago

Fixed here: https://github.com/Sn0wStorm/BungeeCord/commit/224b9ecc68f2e313e852d4528270a23b2fc8d9b1

Skinned Heads will not show skins for the newer versions (1.7.10) much like NPCs.


If somebody wants to try to make skins show correctly on heads and NPCs, take a look at how Citizens2 fetches Skins here: https://github.com/CitizensDev/Citizens2/blob/master/src/main/java/net/citizensnpcs/npc/entity/HumanController.java
How the Skin NBT-Data has changed: Bottom of the Page here, under Skull, the whole Owner Tag-Compound would need to be created: http://minecraft.gamepedia.com/Chunk_format#Tile_Entity_Format

Koya07 commented 10 years ago

If https://github.com/Sn0 wStorm/BungeeCord is Build and it tries to go into a server, an error will come out.

io.netty.util.concurrent.SingleThreadEventExecutor runAllTasks Warning: A task raised an exception. java.lang.NullPointerException at net.md_5.bungee.connection.InitialHandler$8$1.run(InitialHandler.java:513) at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:354) at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:353) at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:101) at java.lang.Thread.run(Unknown Source)

Koya07 commented 10 years ago

An error will be made if Offlinemode=false is used.

io.netty.util.concurrent.SingleThreadEventExecutor runAllTasks Warning: A task raised an exception. java.lang.NullPointerException at net.md_5.bungee.connection.InitialHandler$8$1.run(InitialHandler.java:513) at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:354) at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:353) at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:101) at java.lang.Thread.run(Unknown Source)

Sn0wStorm commented 10 years ago

Hm, i did not test offline-mode

Koya07 commented 10 years ago

I want to add, if possible the offline mode