Giter Site home page Giter Site logo

spigotmc / bungeecord Goto Github PK

View Code? Open in Web Editor NEW
1.5K 1.5K 1.1K 4.6 MB

BungeeCord, the 6th in a generation of server portal suites. Efficiently proxies and maintains connections and transport between multiple Minecraft servers.

Home Page: https://www.spigotmc.org/go/bungeecord

License: Other

Java 99.58% Shell 0.04% C++ 0.38%

bungeecord's People

Contributors

2008choco avatar 56738 avatar black-hole avatar boomearo avatar brokkonaut avatar daboross avatar dependabot[bot] avatar drakiaxyz avatar dualspiral avatar janmm14 avatar kamcio96 avatar kanefreeman avatar keir-nellyer avatar kosgan10 avatar mbax avatar md-5 avatar minecrafter avatar mrivanplays avatar mystiflow avatar nathan818fr avatar nayxegp avatar outfluencer avatar roblabla avatar stephan-gh avatar steveanton avatar thinkofname avatar tonybruess avatar weaondara avatar yawkat avatar zml2008 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

bungeecord's Issues

[Proxy] [Kicked] Failed to Verify Username

Basically i have been trying to set up servers connecting using BungeeCord, i followed the instruction step by step but end up with the same results. "[Proxy] [Kicked] Failed to Verify Username" can you help me fix this

EOFException critical error.

Disconnected with EOFExecption : null @ java.io.DataInputStream:290

REALLY big error makes most people disconnect randomly when trying to join.

LoginEvent Get Hostname

It would be nice if there was a function to get the host name a player used to connect to the server with.

If a player connected to BungeeCord with the IP, website.com, BungeeCord, e.getHostname (or a function similar) would return website.com.

Option to unthrottle connections.

When a server is restarted and players are in their mad bid to reconnect, only one player can (re)connect at a time.

I have the servers set up like so:

servers:
hub: 0.0.0.0:13337
build: 0.0.0.0:16354
pvp: 0.0.0.0:15325
forced_servers:
betterverse.net: hub
betteranarchy.net: pvp
bettercraft.net: build

Is it possible for multiple people to be able to connect at once?

Global chat. Yes, I want it.

BukkitLink is almost outdated. IRC plugins are too complicated. It's like hunting squirrel with a howitzer.
Basically, same as /alert command, but with name of player who sended it and with permission support.
Syntax:
/g message

Minequery support

All servers online in one. Just like it's on favourite server list.

MOTD Colorization

You can color a vanilla MOTD with the (ยง) symbol.

This does not work with BungeeCord, however. The following error is given:

08:31:46 [INFO] Enabled BungeeCord version git-BungeeCord-1.0-SNAPSHOT-"36b3692"-75
Exception in thread "main" org.yaml.snakeyaml.error.YAMLException: java.nio.charset.MalformedInputException: Input length = 1
at org.yaml.snakeyaml.reader.StreamReader.update(StreamReader.java:200)
at org.yaml.snakeyaml.reader.StreamReader.(StreamReader.java:60)
at org.yaml.snakeyaml.Yaml.load(Yaml.java:412)
at net.md_5.bungee.Configuration.load(Configuration.java:150)
at net.md_5.bungee.BungeeCord.start(BungeeCord.java:175)
at net.md_5.bungee.BungeeCord.main(BungeeCord.java:117)
Caused by: java.nio.charset.MalformedInputException: Input length = 1
at java.nio.charset.CoderResult.throwException(Unknown Source)
at sun.nio.cs.StreamDecoder.implRead(Unknown Source)
at sun.nio.cs.StreamDecoder.read(Unknown Source)
at java.io.InputStreamReader.read(Unknown Source)
at org.yaml.snakeyaml.reader.UnicodeReader.read(UnicodeReader.java:123)
at java.io.Reader.read(Unknown Source)
at org.yaml.snakeyaml.reader.StreamReader.update(StreamReader.java:184)
... 5 more

Cannot log IP addresses

For obvious reasons a bukkit server behing bungeecord cannot log the IPs of players. Knowing alternative accounts of players can be very useful especially with troublemakers. This is a request for some sort of IP logging functionality. A plugin like AdvIPlog would be preferred as it tells us alt account of players as they login. However, just having a basic IP log for each player that can log all IPs of a player would be very helpful, especially if it stored to mysql.

Exception with glist command

Line 36 of CommandList gives an exception when there are no players online. Perhaps check the userconnection list is not null first?

Global server slot limit.

Possible making working global slot limit for all servers connected with BungeeCord? Since now it's just fake.

Fix /motd command not supporting colors

needs ChatColor.translateAlternateColorCodes('&', motd); applied to the string that the user provides as arguments.

Could just do this at ping time (use resources up though, not as efficient)

Wild gues, Java 7 error :D

my Mac's java is mesed up... I KNOW! it claims Java 7, but i think its java 6 :D

Exception in thread "main" java.lang.UnsupportedClassVersionError: net/md_5/bungee/BungeeCord : Unsupported major.minor version 51.0
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)
at java.lang.ClassLoader.defineClass(ClassLoader.java:615)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
logout

[Process completed]

Falling sand causes "Unknown Packet Error"

I get this error when sand falls:

"21:06:24 [INFO] /75.161.83.55 [meta1203] disconnected with IOException : Unknown packet id 66 @ net.md_5.mc.protocol.PacketDefinitions:252"

The packet id in the error, though, differs every time.
Any help?

Clear disconnect reasons

The disconnect reason is always set to endOfStrem if a player switches a server. A disconnect.quitting would be much nicer in my opinion. Also some of our plugins are based on the disconnect reason (CombatAntiLeave Plugin e.g.).

As an example - this happens if a player switches the server:

15:54:23 [INFO] [EMP] [Intergate] Porting Jaz0niiCx to sky
15:54:23 [INFO] Connection reset
15:54:23 [INFO] Jaz0niiCx lost connection: disconnect.endOfStream

By the way: nice API you have there. ๐Ÿ‘ :-)

Check server availability before connection.

Player doesn't have to be kicked with "[Proxy] Couldn't connect to server". "Server is offline" message before teleport to other server would be much better. Also, possible localization? I doesn't like idea of showing everyone [Proxy].

Weather shown to client on connect for a few seconds

Connecting to the default server and then switching to another results in the client seeing rain/snow for a few seconds which then disappears. It is clear that this is not real, as using toggledownfall in this time period turns ON weather.

Received string length longer than maximum allowed

The whole servers (x6) connected with Bungee getting kicked with "exception: java.io.IOException: Received string length longer than maximum allowed (%Somerandomnumber% > 16)" Running on latest #68 build. Same issue was on more older builds since 1.4.4 update. The only one BungeeCord error wich I have http://pastebin.com/JUs5DuJJ Unable to get another one since BungeeCord log is wiping every damn time. (In fact, there is only one online log, without acctually way to read it after it's get wiped by new info about connections).
BungeeCord config - https://dl.dropbox.com/u/27770548/Screenies/config.PNG
Example of server.properties - https://dl.dropbox.com/u/27770548/Screenies/serverproperties.PNG
On client side it's looks like http://pastebin.com/b90ndDcE

Potions don't seem to be sent to the client

Applying a potion such as speed to a player does not actually increase the player's perceived speed, nor is the potion shown to the left of the inventory.

Connecting without the aid of BungeeCord fixes this issue.

IP Ban

Sometimes my admins are stupid and will IP ban someone. However since BungeeCord makes everyone's IP the local host it becomes an issue.

Is it possible you can create a /ban-ip command to override the default one. Thanks :D

Reload Config Command?

I think a great addition to BungeeCord would be a /reload or /reloadconfig command that simply reloads the configuration into the system.

If you have 150 some people online and need to make one addition to "servers", "forced-servers" or some other configuration option, all that needs to be done is a command rather than stopping the proxy.

If this feature is actually possible without kicking players out, it would be a fine addition to my server... People get pissed when I stop the proxy to change something :P

Unable to connect to next server while iterating player list.

While using an iterator to transfer players (names stored in hashmap) from one server to another for a minigame results in approximatly 90% of players being disconnected before being able to connect to minigame server using.

Bukkit.getMessenger().registerOutgoingPluginChannel(plugin, "RubberBand");

followed by

player.sendPluginMessage(plugin, "RubberBand", readyServer.getBytes());

from within the iterator.

No errors are shown in log of server players are departing (only the Quit:Disconnected message) and no errors are shown in the log of server players are being sent to (only "lost connection: disconnect.endOfStream").

Whether using Bukkit or Spout the same results are evident, and am currently using build #63 of BungeeCord; however issue was present in all previous builds tested.

Additional Information: The above method of transferring players was used with RubberBand with around 98% sucess rate of players arriving at minigame server without suffering disconnection.

This error can be simulated using the /server command, typing /server someserver to change servers and the pressing T,up arrow, enter to rapidly execute the command again results in disconnection within two or three repititions.

Ahead of time reconnect

Was removed due to it (incorrectly) being identified as the cause of stability issues. Needs to be re added.

Server unique tab list gives NPE

When starting a server in ServerUniqueTabList mode, no players can connect -- they are disconnected with a kick message of:
Kick msg

Nothing is displayed in the console.

@Ranzdo

BaseJump

BaseJump will be the crowning feature of BungeeCord 1.5
It will allow several crucial features, notably absent from the first release.

  1. Global Server Network
    Servers which opt in will be connected to the global session server hosted on Heroku. Instead of authenticating via Minecraft.net, Bungee will send this request to the session server which will proxy it and cache the result. With the proper groundwork in place, users on any enabled Bungee server will have access to every server, and every sub server, right from any Bungee connected server. This will allow users to hop between any server they like.
  2. Proxy to Plugin communication. Again, another feature missing in Bungee. Instead of relying on hacky methods, the Bungee server sided plugin API will multiplex data through reserved plugin channels to and from players. I am hoping @Ranzdo will cease work on his current, hacky and inherently unreliable implementation to work on this.

BUG | Unknown metadata type -4

After testing BungeeCord I got this error that shut the client connection down. I know that a negative metadata type is impossible and after som debugging I found out.

  • This happens when the server try to send a 0x18 packet to spawn a wolf (type 95)
  • The problem occurs on the first byte when it starts to read the metadata. The full byte is -111
  • It happens everytime i try to login to the server, so i think there is some wolf that the server want the client to spawn but the metadata is read incorrectly.

The strange thing is that the packet works for all the other entities and I looked at http://www.wiki.vg/Protocol#Spawn_Mob_.280x18.29 and the instructions seems in order.

There is somthing special about this packet and I think I will dive into NMS to find out, but I thought I let you know too.

Alerts are not visible in console.

Regardless of if you make the alert one Server1 or Server2, when an alert is made - it will display to players on both servers, but it will not display to neither console.

Localization

Would be nice to have any BungeeCord message customazable. Like [Proxy], /glist and /alert.
And end missing dot at the end of /glist player list.

Add AntiBot Feature

Before I used BungeeCord I used to use this nice plugin:
http://dev.bukkit.org/server-mods/easy-anti-join-bot-proxie/

This is the most effective way I know to block Minecraft bots. Since we are getting attacked by bots once again I noticed that the plugin is no longer working for me because of course the users all have the same IP.

To make BungeeCord more secure and to help to reduce the load in cause of an attack this feature would bei really helpfull.

Of course this feature should be optional.

I hope you decide to also add such a feature.

1.4.4 Pots&Item frames.

When players is getting load a part of the map with pots/item frames on it he gets kicked with following error "[Proxy] IllegalArgumentException : Unknown metadata type 7 @ net.md_5.mendax.datainput.MetaData:37"
And another error (Possible my own fault, not a Bungee). Player unable to connect with newest version of BungeeCord with "[Proxy Error] SocketTimeoutExpection : Read timed out @ java.net.SocketInputStream:-2". On old version everything is fine almost with same configuration.

disconnected with Could not connect to server

Maybe this is the write place to post this.

this is the first time it's happened to me and so far it's only been for 2 of my users

in console they keep getting disconnected with this.

22:55:48 [INFO] /ip#here [usernamehere] disconnected with Could not connect to server
22:55:50 [INFO] /sameip# has connected

but they do not connect

Also, i have a whitelist plugin that displays another message, but they cant even view this message, they get kicked with the disconnect message, i know its not that plugin from preventing them from getting on. just wondering if you had any idea. Note: i also disabled this plugin to try it, but nothing.

I have everything setup correctly, this is the first time it's happened in 3 weeks and only these 4 specific users.

any help much appreciated. thanks.

edit: oh and i've even updated to build 69 as well.

Edit #2: now it seems to be a third person, its not everyone. i don't understand.

Edit #3: tried out a dev version, worked fine but now one of my previous user (so now 4 users) that could get on now can't. even after i downgraded, is there something saved somewhere that i'm missing that bungee is reading from????

Edit #4: No responses yet, but one of my users had deleted their whole minecraft directory and re-installed, this solved their problem, i'm assuming there is a file written in this directory. will look into this more and report back.

If Forced-server is unavailable.

If a server on the forced-server list is offline, for whatever reason, and players attempt to connect via the forced hostname.. they are told that it is unavailable.

I'd like the option to send players to the Default server in this instance.

Customizable error messages.

When connections are throttled (See #54), users will often get this error:

"[proxy] could not connect to the server"

I'd like to be able to customize that to say "Too many connections at once, please wait a few seconds before trying again" - or something shorter but similar, if that does not fit into the MC screen.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.