Commit Graph

788 Commits

Author SHA1 Message Date
Thinkofdeath 4bb3850b40 Fix another missed offline mode case 2014-08-31 09:34:31 +01:00
Thinkofdeath 1f132876e6 Handle offline mode in the tab list 2014-08-31 09:25:31 +01:00
md_5 c822c48fef Add BungeeCord to the outdated ping message. 2014-08-31 18:23:45 +10:00
Thinkofdeath 26521cf2ff Add support for Minecraft 1.8.x
This commit allows BungeeCord to support Minecraft clients both of versions 1.7.x and of 1.8.x. There should be no breakages to any other support, however following their deprecation and uselessness within 1.8, the Tab list APIs have been removed.

Please report any issues to GitHub and be sure to mention client, server and BungeeCord versions.

When used with an appropriate server jar (such as multi protocol Spigot), this will allow clients of many versions to concurrently be connected to the same set of servers.
2014-08-31 09:03:12 +01:00
md_5 19b48672af Fix longstanding forward typo 2014-08-31 10:13:50 +10:00
Thinkofdeath 86c5e321f2 Disable epoll by default due to timeouts its causing
Anyone who wants to continue testing epoll for us may do so with `-Dbungee.epoll=true`
2014-08-21 08:11:11 +01:00
mrapple 41ccf3f9d3 Fix LoginEvent firing after PreLoginEvent is cancelled 2014-08-19 22:43:05 +01:00
md_5 caa562c4a1 Final nail in the coffin for xxx cannot be cast to yyy bug. 2014-08-17 09:54:37 +10:00
md_5 483805067d Update Netty and enable Epoll as bugs have been fixed. 2014-08-17 09:52:59 +10:00
IfarPL f9f9c3213d Added 'ForwardToPlayer' subchannel 2014-08-16 20:20:54 +10:00
Thinkofdeath be35e283ec Revert "Mojang allows multiple status queries in a connection, we should too."
This reverts commit 77f6930280.
2014-08-11 23:17:31 +01:00
Ad237 072e360d0f Add KickPlayer subchannel
Can be used to kick a player who is on a different server
2014-08-03 18:13:39 +10:00
Jonas Konrad d85400bc69 Add forward parameter to only forward to online servers [Adds #1120] 2014-08-03 18:10:38 +10:00
Jonas Konrad b544bb34cb Add ServerInfo method to send plugin message only if server is online 2014-08-03 18:10:38 +10:00
Gabscap 8676dd47f6 Disable plugins in reverse order 2014-08-03 18:09:18 +10:00
Melair 089a8dd311 Allow customisation of kicking during initial server connection. In particular allow removal of server name by modification of messages.properties. 2014-07-30 19:16:19 +10:00
Thinkofdeath d1d4cc7bbf Tidy up the handling of Spawn Object and fix a off by one error with it 2014-07-30 09:26:17 +01:00
md_5 1b18e64fb2 Handle objective value changes. Although the client *shouldn't* be using this for any sort of keying, it may indeed be. Closes #1116 awaiting testing. 2014-07-22 20:24:38 +10:00
Isaias c42d3a375f Fix uniqueId returning null in LoginEvent 2014-07-21 13:49:45 +01:00
Thinkofdeath fc0a21f548 Correct a typo in Spawn Object rewriting 2014-07-21 09:48:21 +01:00
md_5 65eba06980 Don't let Bungee run in dirs with ! in name.
Java uses ! to indicate a resource inside of a jar/zip/other container. Running Bungee from within a directory that has a ! will cause this to muck up.
2014-07-19 21:22:20 +10:00
md_5 87a64c3f3e Fix locale object getter, closes #1113 2014-07-16 17:13:56 +10:00
md_5 be13a00386 Add missing return - closes #1114 2014-07-16 17:12:52 +10:00
md_5 949f150ea0 Fix some out of style formatting. 2014-07-12 19:50:56 +10:00
md_5 a6095c680f [#1111] Ignore scorebaord objective action 2 like we did before 2014-07-12 17:33:57 +10:00
md_5 9d5c886045 Fix some more static analysis warnings 2014-07-12 14:01:06 +10:00
md_5 19bb8f72c7 Fix some static analysis warnings. 2014-07-12 13:33:13 +10:00
md_5 4dfd510583 Override context specific permission check 2014-07-10 13:56:59 +10:00
md_5 705b554b3b Add basis of grouped thread factory and make the scheduler use it. 2014-07-10 11:18:42 +10:00
md_5 6615500f08 Block all of java, not just java.lang 2014-07-10 10:50:00 +10:00
md_5 d63d5a2791 <yawkat> is that debug code i spot md_5? 2014-07-10 10:42:55 +10:00
md_5 2444dd15ab Fix #1106 - plugins using ssl throwing exceptions 2014-07-10 10:39:58 +10:00
md_5 2dd3d2101d Close #1105 - don't let security manager get replaced 2014-07-09 09:41:19 +10:00
md_5 8ce26e0370 Pass plugin into executor getter for future proofing 2014-07-08 15:53:25 +10:00
md_5 5d1b660e32 Implement Security Manager
This commit adds the basis for the intergration of a security manager into BungeeCord. The goal of the security manager is to prevent plugins from doing potentially dangerous or otherwise undesirable behaviour that may damage the stability of Bungee itself or pose a risk to the user's server.

One common theme in some Bungee plugins, especially those which were written in the very early days, is using Threads and ExecutorServices for scheduling purposes. Not only is this inefficient as there is no use of the thread caching features provided by the scheduler, it is also difficult to track who created which thread. Additionally creating threads not managed by the BungeeCord scheduler poses issues for when|if a plugin reload system is implemented, as these threads cannot be appropriately cleaned up and may continue to leak class references or perhaps even continue executing.

At this stage the SecurityManager is set to warn of prohibited actions, but not block them. For some plugins using external APIs, where usage of an ExecutorService is unavoidable, we have included an Unsafe interface to the scheduler which allows direct access to the underlying ExecutorService, or potentially a compatability wrapper.
2014-07-08 15:22:26 +10:00
md_5 7347daf203 Delay kicks in initial handler.
See source for reasoning
2014-07-08 15:16:22 +10:00
md_5 bb69af5cd0 Disable epoll whilst we try to replicate some issues 2014-06-29 09:22:34 +10:00
Minecrell a668da76d0 Write log messages with lower levels to the log file. 2014-06-29 09:13:16 +10:00
Jonas Konrad 4ef58d53b1 Fix typo 2014-06-28 13:45:26 +02:00
md_5 a53b63720b Add a comment 2014-06-26 19:24:05 +10:00
md_5 348457f613 Quickly test SO_REUSEADDR 2014-06-26 19:19:11 +10:00
md_5 fbb2f695b0 Show correct error when cannot bind query 2014-06-26 19:08:05 +10:00
RuriRyan 489242b1ef Fixed RemoteQuery, which broke with the Epoll update 2014-06-25 23:29:08 +02:00
md_5 500b0af782 [Performance] Attempt to use Netty's Epoll implementation on Linux.
This will attempt to make use of Netty's EpollEventLoopGroup and Epoll(Server)SocketChannel when on Linux and the native libraries load correctly. It should bring a large increase in performance and hopefully reliability. Big thanks to the @netty team for implementing this and @normanmaurer for some tips on the support detection.

Feedback is appreciated.
2014-06-25 18:14:50 +10:00
md_5 2b304ecebc Close plugin log handlers on disable 2014-06-24 18:22:35 +10:00
md_5 923aa05d4a Downgrade forced hosts errors to a warning log level 2014-06-24 16:56:24 +10:00
md_5 e54388a5e0 Add matchPlayer API 2014-06-23 17:26:30 +10:00
md_5 59ba644623 Make IP command tabbable - closes #999 2014-06-23 17:16:14 +10:00
maciekmm 4d1f0cbb26 Added getKickedFrom() to ServerKickEvent. 2014-06-22 17:11:27 +10:00
md_5 e849afbb23 Add simple address cache for those with slow or otherwise unresponsive DNS servers.
I wonder when @netty was supposed to add async dns lookups.
2014-06-20 20:04:22 +10:00