Commit Graph

824 Commits

Author SHA1 Message Date
Thinkofdeath 1623fb6952 Only update the dns cache on new lookups (Fixes #1221)
This causes the cached entry to be looked up every 5 minutes instead of the previous system where it was kept as long as it was used. This fixes an issue where after Mojang's session servers go down the ip address tends to change. This caused bungee to repeatedly hit the old (inactive) one which with the previous system would be re-cached every time someone tried to connect
2014-09-11 10:18:34 +01:00
Minecrell 4e353e9277 Add Title API. 2014-09-07 09:30:57 +01:00
Minecrell d6b7157c1c Add player list header / footer API. 2014-09-07 09:26:52 +01:00
Steve Anton bc48ab3fb8 Make ProxyPingEvent async 2014-09-07 12:03:55 +10:00
Thinkofdeath 65ae8b4c6a Correctly send the MC|Brand packet 2014-09-02 13:54:52 +01:00
md_5 2cec5f344a Update versions to 1.8... oops 2014-09-01 16:56:03 +10:00
md_5 5282a8f45a Just use server specific tab lists for now. 2014-08-31 19:18:19 +10:00
md_5 f15eed338d Fix tab list 2014-08-31 19:01:24 +10:00
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
md_5 dd9bd2a2e3 Shuffle Jansi/Jline versions 2014-08-04 18:19:35 +10: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