  import net.md_5.bungee.protocol.packet.BossBar;
  import net.md_5.bungee.protocol.packet.KeepAlive;
  import net.md_5.bungee.protocol.packet.PlayerListItem;
-@@ -246,13 +247,22 @@ public class DownstreamBridge extends PacketHandler
+@@ -246,13 +247,28 @@ public class DownstreamBridge extends PacketHandler
  
          if ( pluginMessage.getTag().equals( "MC|Brand" ) )
          {

             this.compressionThreshold = compressionThreshold;
             unsafe.sendPacket( new SetCompression( compressionThreshold ) );
diff --git a/proxy/src/main/java/net/md_5/bungee/connection/DownstreamBridge.java b/proxy/src/main/java/net/md_5/bungee/connection/DownstreamBridge.java
index 8ce578e..d838c2b 100644
--- a/proxy/src/main/java/net/md_5/bungee/connection/DownstreamBridge.java
+++ b/proxy/src/main/java/net/md_5/bungee/connection/DownstreamBridge.java
@@ -29,6 +29,7 @@ import net.md_5.bungee.netty.ChannelWrapper;

+            // Travertine start
+            if ( ProtocolConstants.isAfterOrEq( con.getPendingConnection().getVersion(), ProtocolConstants.MINECRAFT_1_8 ) )
+            {
+                try
+                {
+                    ByteBuf brand = Unpooled.wrappedBuffer(pluginMessage.getData());
+                    String serverBrand = DefinedPacket.readString(brand);
+                    brand.release();
+                    brand = ByteBufAllocator.DEFAULT.heapBuffer();
+                    DefinedPacket.writeString(bungee.getName() + " (" + bungee.getVersion() + ")" + " <- " + serverBrand, brand);
+                    pluginMessage.setData(brand);
+                    brand.release();
+                } catch (Exception ProtocolHacksSuck)
+                {
+                    return;
+                }
+            } else
+            {
+                String serverBrand = new String( pluginMessage.getData(), "UTF-8" );
