Janmm14
2e8ed1cfba
Reimplement join throttle.
2016-04-24 11:56:24 +10:00
md_5
b9a98c88ba
Java 7 support
2016-04-24 11:39:23 +10:00
md_5
0b554be10a
Strip / add velocity to SpawnEntity packets that require it when rewritten
2016-04-24 09:39:22 +10:00
Jofkos
f070e2d064
Added ansi "erase line"
2016-04-08 07:42:11 +10:00
Thinkofname
b6b015fe1f
Ensure we get a 1024 bit RSA key ( Fixes #1814 )
2016-03-31 16:12:30 +01:00
Thinkofname
d1a1e87ab5
Support Minecraft 1.9.2
2016-03-30 16:57:54 +01:00
md_5
6b4e285186
1.9.1 support
2016-03-30 15:59:51 +01:00
md_5
f265f7c594
#901 : Better custom messages support
2016-03-24 14:15:16 +11:00
md_5
859d176c93
Update README.md and fix minor formatting error.
2016-03-09 18:16:22 +11:00
Tux
52d66897e4
Raise an error if a server in the priority list is undefined
2016-03-06 16:10:31 +11:00
md_5
8b327708ee
#1335 : Remove 16 char displayname limit
2016-03-05 18:56:32 +11:00
Zartec
903ada06f0
Sould break the priority lookup after server found
...
If the list would look like this
- test1 -> 1.8 -> ServerKickEvent cancelled -> reason set to "outdated"
- test2 -> 1.8
- test3 -> 1.9
and a player joins with version 1.8 he would never be connected to test2 because the server test2 is not equal to test1 and the server test3 is not equal to test1.
So test3 is the last in the while loop and would be used also if another server with higher priority matches the requirements.
2016-03-04 07:10:59 +11:00
Youri Kersten
a7664a5559
Remove any tracked bossbars when a client switches servers.
2016-03-03 18:57:48 +11:00
md_5
46e7f2dfc9
Only allow ServerUnique tab lists as per 1.8 due to incomplete functionality.
2016-03-02 20:20:55 +11:00
Youri Kersten
b6671cd00c
Send action bar messages using BaseComponent for 1.9 clients
...
Action Bar packets in 1.9 now correctly support the JSON format, however sending them the 1.8 way will kick the client. This keeps the compatibility with 1.8 clients with the version check whilst correctly sending the packet to 1.9 clients.
2016-03-01 19:32:19 +11:00
Thinkofdeath
7926230682
#1765 : Fix ServerInfo.ping to handle chat components.
2016-03-01 12:38:19 +11:00
md_5
dd66e3068a
Fix priority selection not playing nicely with reconnect handlers.
2016-03-01 12:34:50 +11:00
md_5
04a6eff14c
Don't handle exceptions for obsolete server connectors.
2016-03-01 11:53:59 +11:00
md_5
05de455a9c
Update to Minecraft 1.9
2016-03-01 09:31:12 +11:00
Thinkofdeath
12a7b7afc3
Add support for 15w33c and multiple fallback servers
2016-03-01 09:31:12 +11:00
Thinkofdeath
dfaa687f71
Remove 1.7.x Support
2016-03-01 09:31:12 +11:00
md_5
219819b738
Replace default/fallback servers with a server priority list.
2016-03-01 09:31:12 +11:00
md_5
0646a3090a
Fix scoreboards / tab lists getting out of sync due to race conditions / overlap.
2016-02-19 09:07:12 +11:00
md_5
afc02082e6
Make it clear when users connected Bungee to itself.
2016-02-17 10:34:04 +11:00
Tux
848cad2a59
Fix cancelling TabCompleteEvent.
...
The packet would get sent regardless if the event was cancelled, only if there were no suggestions available.
2016-02-07 17:44:07 +11:00
Thinkofdeath
a0f2c42d38
Clear the address cache entry when a connection fails
...
Should help solve the issues caused by mojang swapping the ip address of
the session server.
2016-02-05 10:19:31 +11:00
md_5
e556fd7150
Add Connection.isConnected()Z API.
...
Idea from kamcio96 in #1693
2016-02-05 10:09:47 +11:00
md_5
841c81cdc4
[ #1714 ] Make a copy of the main Minecraft buffer as EntityMap.rewriteVarInt may require more bytes than available.
2016-01-24 19:45:02 +11:00
md_5
052131c1fa
Reduce amount of memcpy within proxy pipeline.
2016-01-24 11:22:39 +11:00
kamcio96
83e27f07e6
Use static instances of EntityMap
2016-01-16 12:44:32 +11:00
md_5
5cff0b2171
Remove redundant synchronization on ServerConnection.disconnect
2016-01-16 12:33:42 +11:00
md_5
2c86592ecd
[ #1649 ] Don't parse disconnect reason for servers.
...
Reported by @kamcio96
2016-01-16 12:29:13 +11:00
md_5
f5552963b8
Update Netty and enable EPoll transport.
2016-01-16 11:37:17 +11:00
Tux
a1895c556f
Make BoundedArrayList follow the old behavior.
...
Unit tests have been included.
2016-01-11 14:09:07 +11:00
md_5
aa214c0b54
[ #1695 ] Use BoundedArrayList to cap list size for REGISTER channels.
2016-01-10 19:00:00 +11:00
Joseph Hirschfeld
19f2e7b13e
DNS IPs should only be cached for 1 minute.
2015-11-12 12:58:18 +11:00
xxyy
ba448b5670
Add configurable proxy command logging.
...
This commit adds a config switch that allows users to turn off
the logging of proxy commands. It is set to off by default to
prevent unwanted log spam and keep current behaviour.
Log proxy commands
This commit changes the PluginManager to print a message to
console and the log when a proxy command is executed.
This may assist with debugging and miscellaneous
investigations.
2015-10-26 20:59:53 +11:00
md_5
013320fd9e
#1852 : Fix packet compression when BungeeCord and the server are set to different compression levels.
2015-09-16 19:44:55 +10:00
Thinkofdeath
c626254825
Only enable compression for 1.8 clients
2015-09-13 08:59:42 +01:00
md_5
4e94c278da
[ #1567 ] Let BungeeCord dictate the network compression threshold.
2015-09-13 09:29:39 +10:00
jfr
06ad0f9310
Reorder PlayerJoinEvent / UpstreamBridge initialization.
...
Placing the PlayerJoinEvent in front of the Upstream Bridge handling prevents us from actually accessing the target server in PostJoinEvent handlers.
2015-09-07 18:26:41 +10:00
md_5
7ec1a1aa4e
Fix / clarify behaviour of matchPlayer.
2015-09-05 13:42:33 +10:00
kamcio96
81d1c46a0d
Support uuid in config.yml
2015-07-13 19:46:15 +10:00
Daniel Naylor
f3c14cf064
Fix telling newer 1.7 Forge clients that they are outdated. Fixes #1476
...
* Only check the version of FML if we are running Minecraft 1.7.10 - 1.8 clients are always valid.
* If the version of FML that is reported is 7.10.99.99 - report the Forge version instead.
2015-07-10 12:33:22 +10:00
md_5
cc3a8c067e
Check channel active before adding handlers. #1489
2015-06-06 18:41:54 +10:00
Nathan Poirier
8622cf3af4
Fix BadPacketException handling It is catched by DecoderException and was not processed correctly by HandlerBoss So the console was spammed when that exception is thrown
2015-05-18 20:18:19 +10:00
Thinkofdeath
93959cab4b
Only force remove the player from 1.8 client's tab list
2015-05-10 22:51:14 +01:00
Thinkofdeath
585ab4f453
Readd the delay removed in f9773a69c3
2015-05-08 20:41:21 +01:00
Thinkofdeath
76052b92d3
Don't send a Kick during the STATUS protocol as it doesn't support it
2015-05-08 20:32:12 +01:00
Thinkofdeath
f9773a69c3
Don't send a kick to the server on disconnect
...
This was dropped from the protocol in 1.6 and was left in bungee by
mistake
2015-05-08 19:39:22 +01:00
Tux
88e71ead05
Add reset() and retain() methods to ComponentBuilder.
...
This method is simple: it resets the current part to default settings, keeping only the current text. It therefore acts like the old ChatColor.RESET
code. The retain method allows for more control over what is reset.
Add a test to verify proper functioning of reset()/retain().
2015-05-06 09:57:48 +01:00
md_5
d1e1ce4cdb
Add option to disable native code.
2015-05-03 10:35:48 +10:00
md_5
fa828eba31
Allow using properties to change leak detection level.
2015-04-13 09:51:31 +10:00
Thinkofdeath
a48c458306
Don't send bungeecord plugin messages to the client
2015-04-08 18:22:16 +01:00
Thinkofdeath
f2d17cb216
Follow vanilla and kick the joining user on connect if the name is already taken ( Fixes #1383 )
2015-02-28 13:07:13 +00:00
md_5
f2673c5876
Kick only in online mode: #1382
2015-02-28 13:00:04 +11:00
Thinkofdeath
e1951c5d66
Fix spectator mode with ip-forwarding enabled
2015-02-25 22:31:05 +00:00
Thinkofdeath
988490ba87
1.8 isn't a snapshot anymore
2015-02-25 22:27:50 +00:00
md_5
61cee2d27c
Fix formatting in a bunch of files.
2015-02-14 18:36:58 +11:00
md_5
2055c98ebe
Add reason for stopping and extra arguments.
2015-02-14 18:33:49 +11:00
Joshua Rodriguez
415d5860e4
Allow setting a connections uuid when in offline mode
2015-02-14 18:33:28 +11:00
md_5
3776feb559
Don't allow duplicate UUIDs on the proxy.
2015-02-14 18:26:27 +11:00
md_5
7c1f232e85
Update depend versions, limit use of most Java 1.7 APIs.
2015-02-08 13:07:41 +11:00
md_5
0d569ac0d1
Refactor native code and implement our own JNI wrapper around zlib.
...
The previous native cipher code has been refactored so that it may be loaded and used slightly more generically, allowing more native components to be easily added as time goes on.
I have also written a new native code compression module, which wraps around zlib in the same manner that Inflater / Deflater does, however it operates directly on the memory addresses of it's input / output buffers which means that we can save one, or maybe even two copies. To support this, the VarInt decoder has been adjusted to always use a native buffer.
2015-02-07 14:06:41 +11:00
md_5
61d2765715
Only check name for server reload modification.
2015-01-24 13:34:38 +11:00
md_5
cf722de1d2
#1130 : Add scheduler unit tests and make more robust.
2015-01-18 12:09:38 +11:00
Daniel Naylor
28496e0471
Add API for getting whether the user is a Forge user.
...
For Minecraft+Forge 1.8 we can detect whether the user is a Forge user before we get the mod list, due to the changes to the initial (not FML|HS) handshake that are now made (which is for vanilla client support). Bungee can exploit this to detect FML clients from the off, but it still does not tell us what the mod list is. Thus, creating this API method for users who simply need to know whether the user is connected via FML is no longer a duplication of the getModList api method.
2015-01-12 19:23:07 +11:00
Daniel Naylor
4809f1f80a
Update IP forwarding to ignore FML and other null character delimited tokens (for now)
...
For Forge 1.8, a new \0FML\0 token is included in the handshake packet host field. Whilst from a Forge <-> Bungee standpoint, this is good in the long run (we can detect Forge/FML clients right from the off, allowing us to expose a reliable API for detecting modded 1.8+ clients), it plays havoc with IP forwarding on Spigot servers, as they expect a very specific format.
Until we can look at improving this situation (probably by creating an updated IP forwarding protocol on the server side), this removes the FML marker from the handshake whenever IP forwarding is on. If you have a FML 1.8 network, IP forwarding MUST be off.
With thanks to @geNAZt for finding the issue.
2015-01-12 19:23:07 +11:00
xxyy
5091515f0b
Add TabCompleteResponseEvent
2015-01-12 11:53:28 +11:00
mrapple
54c9ade1a6
Move mojang translations to chat module, fixes SpigotMC/BungeeCord#1301
2014-12-23 19:23:24 +11:00
md_5
1711223b02
Use string lists in preference to string arrays.
2014-12-22 19:59:14 +11:00
Tux
972b4c1fe5
Further fix task clean up issues by moving the BungeeScheduler's cancel(ScheduledTask) method to just call the cancel() method on the task. The cancel call was moved to BungeeTask's cancel method.
...
This patch makes the patch transparent to existing callers using cancel(ScheduledTask) from the scheduler. It also simplifies some logic in BungeeTask itself.
2014-12-14 17:18:49 +11:00
Tux
36c4af35de
Fix issues cleaning up after repeating tasks.
...
A mass of NullPointerExceptions would be outputted when tasks were stopped. This is resolved by checking if we are still running (indicating a possible scheduler cancel) before telling the scheduler to pull the plug.
Ideally, the entire BungeeCord scheduler should be rewritten. It has quite a few issues which could be avoided with a new system.
2014-12-14 17:18:49 +11:00
md_5
02d3660f32
Fix fancy terminal on Windows.
...
This is a workaround for quite possibly the weirdest bug I have ever encountered in my life! When jansi attempts to extract its natives, by default it tries to extract a specific version, using the loading class's implementation version. Normally this works completely fine, however when on Windows certain characters such as - and : can trigger special behaviour. Furthermore this behaviour only occurs in specific combinations due to the parsing done by jansi. For example test-test works fine, but test-test-test does not! In order to avoid this all together but still keep our versions the same as they were, we set the override property to the essentially garbage version BungeeCord. This version is only used when extracting the libraries to their temp folder.
2014-12-14 13:07:13 +11:00
md_5
37e37e9a55
Fix timestamp format....
2014-12-13 11:53:03 +11:00
md_5
45bf7a9ab9
Move ansi console system install right into the bootstrap.
2014-12-13 11:13:40 +11:00
Thinkofdeath
ef364d9053
Actually put the tasks in the tasksByPlugin Multimap ( Fixes #1278 )
2014-11-26 16:42:45 +00:00
Minecrell
f19cc7fe4f
Add chat position API.
2014-11-22 09:17:37 +11:00
Minecrell
772c8d7f2b
Improve legacy client ping support.
2014-11-15 10:18:40 +00:00
Thinkofdeath
830f18a357
Manually remove the player from everyone's tab list on disconnect
...
This is needed because when the player disconnects from bungee they are removed from the connection map, this causes the tab-list rewrite to fail due the player no longer being on bungee and therefor it ends up not removing the player (online vs offline uuid). This would only happen on servers without ip-forwarding enabled
2014-11-11 10:33:22 +00:00
md_5
532a94382b
Block really wrong offline mode names, see #1270
2014-11-08 10:04:59 +11:00
md_5
56c372a3ce
Fix HTTP client now that Mojang has their stuff together.
2014-11-08 10:02:48 +11:00
Daniel Naylor
4d389df7c8
Be more selective when sending reset packets.
...
Always send the packet when going from modded -> anything, send the packet later when going from vanilla -> modded, never send it on a vanilla -> vanilla switch.
2014-10-17 20:37:10 +11:00
Daniel Naylor
cfad2c65d4
Implement Support for MinecraftForge / FML 1.7.10
...
Additional implementation help provided by @jk-5 and @bloodmc.
2014-09-27 19:38:28 +10:00
md_5
8715c5fd82
Actually update translations to 1.8
2014-09-27 08:25:36 +10:00
md_5
cbb190cfd3
Fix a few import ordering issues.
2014-09-26 10:11:16 +10:00
md_5
57a07dc2e2
Update Depend Versions:
...
Guava 17.0 -> 18.0
Lombok 1.12.6 -> 1.14.8
Gson 2.2.4 -> 2.3
SnakeYaml 1.13 -> 1.14
2014-09-25 11:05:21 +10:00
Minecrell
6fcfb5aecb
Add more message arguments. See #1214 .
2014-09-25 10:53:41 +10:00
md_5
4e3b5670a0
[ #1224 ] Add connect / read timeout for module download incase Jenkins is down.
2014-09-25 10:52:16 +10:00
md_5
ee3b209c2d
Declare game version support as 1.8
2014-09-25 10:49:20 +10:00
md_5
25ee8a1496
Revert "Revert "Update Mojang translations to 1.8""
...
This reverts commit dd1a28ea1e
.
2014-09-25 10:47:27 +10:00
md_5
dd1a28ea1e
Revert "Update Mojang translations to 1.8"
...
This reverts commit 5ec36efb52
.
2014-09-25 10:41:40 +10:00
md_5
3cd4f169bd
[ #1191 ] Stop getPermissions from creating blank groups.
2014-09-25 10:21:15 +10:00
md_5
5ec36efb52
Update Mojang translations to 1.8
2014-09-25 10:18:29 +10:00
md_5
dcc9be9dfe
[ #1218 ] Check which player instance we remove from the connection maps.
...
Legitimate but slightly sneaky fix for the issue of racing for addition / removal. An alternate fix would be a multimap.
2014-09-12 18:45:50 +10:00
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
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
4ac117fb4c
Actually include native code, thanks again @normanmaurer
2014-06-25 18:21:59 +10: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
Gabscap
f6e41c856c
Closing all handlers on stop()
2014-06-20 19:28:01 +10:00
md_5
b167a45690
Revert "Reenable throttle since we only support 1.7+"
...
This reverts commit f23691df23
.
2014-06-13 16:25:53 +10:00
vemacs
31bd836203
Write server name in ServerIP subchannel response.
...
Behaves similarly to the UUIDOther implementation.
2014-06-11 16:13:32 +10:00
Jonas Konrad
4dce37cd13
Prefix "BungeeCord > " to forwarded MC|Brand messages [ Fixes #1038 ]
2014-06-11 16:12:30 +10:00
md_5
f23691df23
Reenable throttle since we only support 1.7+
2014-06-11 16:08:33 +10:00
md_5
77f6930280
Mojang allows multiple status queries in a connection, we should too.
2014-06-11 16:07:14 +10:00
md_5
9604a9a31e
Show 1.7.9 as supported version
2014-06-11 16:05:07 +10:00
md_5
91989564e5
Add method to get player's locale
2014-06-11 16:03:10 +10:00
md_5
9226df86f0
Lazy init vhost address.
2014-05-31 18:46:35 +10:00
md_5
ad2ff54b76
Bump a few versions, should probably think about exposing the new EPollEventLoop.
2014-05-15 17:07:31 +10:00
md_5
ece641da23
Change lobby to fallback in fallback_lobby translation.
2014-05-03 17:31:19 +10:00
Thinkofdeath
33a098f4ba
Merge branch 'vemacs-master'
2014-05-01 11:00:12 +01:00
vemacs
e4e01ccb55
Null check
2014-05-01 10:59:14 +01:00
GunfighterJ
84c7e073e0
Grammar Nazi 2014
2014-04-26 13:44:59 -05:00
Jonas Konrad
a56bbe38b2
toString for BungeeServerInfo
2014-04-22 15:24:18 +02:00
md_5
312a74c5f1
Close #963 - log remote ping errors to console, friendly message to clients.
2014-04-19 19:48:43 +10:00
vemacs
71c86f9f90
Add ServerIP subchannel
2014-04-18 10:33:26 -06:00
Thinkofdeath
6475385f87
Use ProtocolConstants instead of raw protocol numbers
2014-04-16 14:57:09 +01:00
Thinkofdeath
6775b9230c
Update Team packet's field names. unknown -> nameTagVisibility, unknown2 -> color
2014-04-16 14:46:48 +01:00
Thinkofdeath
c8e6b6fd7a
Add 'Combat Event' to 14w11a's EntityMap
2014-04-16 14:34:30 +01:00
Thinkofdeath
bca3663a1f
Add 'Camera' to 14w11a's EntityMap
2014-04-16 14:26:11 +01:00
Thinkofdeath
f71272a1c0
Add 14w11a EntityMap support
2014-04-16 11:56:04 +01:00
Thinkofdeath
ca7c755ecd
Split up EntityMap into different protocol versions
2014-04-16 11:14:29 +01:00
md_5
5a638f2290
Enable 14w11 support, changing servers is a bit iffy though due to EntityMap not being complete.
2014-04-16 11:01:41 +10:00
md_5
3715756be7
Update packets for MINECRAFT_14_11_a
2014-04-16 10:48:40 +10:00
md_5
bc2b4db419
Replace literal numbers with usages of the ProtocolConstants class.
2014-04-16 10:18:16 +10:00
Jonas Konrad
e2eba52162
Revert "Revert "Implement Favicon API""
...
This reverts commit 13decac4b9
.
2014-04-15 20:17:26 +10:00
md_5
13decac4b9
Revert "Implement Favicon API"
...
This reverts commit 18316eb5f8
.
2014-04-15 15:08:12 +10:00
md_5
b08f1995f6
Return most recent protocol version to 'unsupported' server lists
2014-04-15 11:08:28 +10:00
Keir Nellyer
a642346a2c
Add method to get a connected player via their UUID
2014-04-15 11:07:17 +10:00
Jonas Konrad
18316eb5f8
Implement Favicon API
2014-04-15 11:05:20 +10:00
md_5
3ced0b675d
Implement Skin forwarding - YOU MUST UPDATE SPIGOT FIRST
2014-04-15 10:38:15 +10:00
md_5
dc2da29c16
Code format.
2014-04-13 14:15:41 +10:00
Thinkofdeath
3b71a2b570
Fix ping decoding ( Fixes #969 )
2014-04-13 00:07:11 +01:00
Thinkofdeath
1aa5379030
Handle new clients pinging old versions ( Fixes #972 and Fixes #969 )
2014-04-12 10:16:58 +01:00
Thinkofdeath
153bca00be
Fix 1.7.7 support
2014-04-10 13:34:08 +01:00
Thinkofdeath
747628f40c
Remove @RequiredArgsConstructor from PlayerInfoSerializer as the javadoc fails to build with it
2014-04-09 21:01:33 +01:00
Thinkofdeath
bf9521472b
Support setting uuid's on ServerPing.PlayerInfo + fix plugins which don't provide a valid uuid.
2014-04-09 20:26:07 +01:00
Thinkofdeath
86ef046544
Pass the protocol version through when using ping pass through
2014-04-09 16:42:08 +01:00
Thinkofdeath
cd518690fd
Rewrite the spawn player packet's uuid to support skins on non ip-fowarded servers
2014-04-04 12:14:04 +01:00
Thinkofdeath
1d3adc5317
1.7.6-pre1 Support
2014-04-04 21:42:10 +11:00
Keir Nellyer
13848def72
Return a Users UUID as a UUID object whilst keeping support for returning as a String
2014-04-04 21:35:07 +11:00
md_5
52bf6184c7
Don't disable find by default
2014-03-30 15:53:57 +11:00
md_5
f7a5748464
Delay event loop initialization until after system properties are set. Closes #943
2014-03-29 15:21:04 +11:00
md_5
1bbbfdb0d5
Close #938 - re add our register channel manipulation
2014-03-20 20:12:06 +11:00
Jonas Konrad
92ebce2ec6
Add TabCompleteEvent
2014-03-14 20:51:47 +11:00
kamcio96
9cd7c1ac03
Add ProxyReloadEvent
2014-03-14 20:49:45 +11:00
md_5
924dcaab38
Move default server fallback
2014-03-14 19:29:13 +11:00
Thinkofdeath
49f4dcb5b7
Ensure we have the capacity to resize the buffer
2014-03-13 19:51:46 +00:00
Thinkofdeath
13d679e7d7
Correctly resize the spawn object packet
2014-03-13 19:30:27 +00:00
md_5
575a6b6ea0
Fix some errors related to disabling modules - #890
2014-03-11 15:16:52 +11:00
Thinkofdeath
2a7ad3c2b2
Append/trim extra data for spawn object packets with a 0 id
2014-03-10 19:25:15 +00:00
md_5
00352f585a
Revert code which wasn't meant to be commited.
2014-03-10 13:36:17 +11:00
md_5
290e31b4c5
Update some depend versions, leaving netty for a later date when there aren't as many recent changes.
2014-03-10 11:34:35 +11:00
Jonas Konrad
52fbceec54
Fix client disconnects when a server goes down - #886
2014-03-10 11:17:52 +11:00
md_5
4a7f8015e5
Close #918 - use case insensitive lookup for Yaml locations
2014-03-10 11:04:46 +11:00
md-5
003a1973d4
Update CommandEnd javadoc
2014-03-10 09:23:44 +11:00
md_5
eec3c09c32
Tweak ciper messages - closes #905
2014-02-27 16:00:44 +11:00
md_5
565af4d53e
Remove switchMutex since its no longer required
2014-02-27 07:32:23 +11:00
md_5
37ed331515
Ensure user's client and server component are both in the same event loop. Probably closes #893
2014-02-26 21:28:04 +11:00
Thinkofdeath
38f12840ca
Correct component loop detector
2014-02-21 20:56:10 +00:00
Thinkofdeath
941450b4e4
Detect component loops
2014-02-21 10:13:40 +00:00
md_5
d98ade5a9b
Mojang uses "if > 100", therefore the inverse of that is "if <=100" regarding chat length.
2014-02-13 07:25:56 +11:00
md_5
0f24eaeea3
Mojang caps chat to 100, we should too
2014-02-12 19:59:02 +11:00
md_5
a9b2660aa8
Unknown git commit or version = unknown version sig
2014-02-12 19:15:00 +11:00
md-5
b3627652f2
Merge pull request #869 from Cube-Space/permission-api
...
Added getPermissions() to the CommandSender API
2014-02-09 14:36:15 +11:00
md_5
b5216148d6
Remove a bit of synchronization
2014-02-09 11:02:26 +11:00
Fabian Fassbender
4faf507ad9
Added getPermissions() to the CommandSender API to get a unmodifiable Collection of all Permissions. The ConsoleSender returns an empty Set where as the UserConnection gives its real Permissions.
2014-02-08 14:17:01 +01:00
md_5
9a4f0a6f59
Revert disconnect change. Forgot we use void futures.
2014-02-08 12:42:27 +11:00
md_5
015dc0c65a
Dem string typos
2014-02-08 12:21:13 +11:00
md_5
c1b9e9032f
Fix typo
2014-02-08 12:20:08 +11:00
md_5
5e5038c839
Fix Java 7 detection - closes #861
2014-02-08 09:40:08 +11:00
md_5
36ea27454d
Disable selector rebuild - closes #851
2014-02-08 09:39:45 +11:00
md_5
2eb2953442
Optimize throwing of CancelSendSignal's by storing a single instance.
2014-02-08 09:36:41 +11:00
md_5
4abffa9f24
Optimize / clean up server disconnect method
2014-02-08 09:33:05 +11:00
md_5
f08df9555c
Remove dead IP forward code, Mojang aint bringing that one back
2014-02-08 09:19:28 +11:00
Thinkofdeath
4c5689d10e
Fix typo in EntityMap
2014-02-04 11:03:12 +00:00
md_5
224db6596e
Make console log handler obey Filters. Closes #866
2014-02-04 16:44:53 +11:00
md_5
4fa137a465
Add java property for log date format, closes #764
2014-02-02 12:45:53 +11:00
md_5
0d7ee821d2
Adjust wording - closes #823
2014-02-02 12:43:18 +11:00
md_5
ddab9a84c4
Close #859 - more favicon validation
2014-02-02 12:20:37 +11:00
md_5
19b4c09a16
Remove unused fields
2014-02-01 10:38:43 +11:00
md_5
35a5230b52
Remove artifacts from legacy forge support.
2014-02-01 10:38:43 +11:00
md_5
90fcfecb7c
Use lombok for vhost
2014-02-01 10:38:43 +11:00
md-5
542d2c2a5b
Close #850 - send 127 for legacy protocol version
2014-02-01 09:27:22 +11:00
md_5
842392d59c
Dual version entity ID rewriting
2014-01-27 11:39:10 +11:00
md_5
b2f517fa63
Implement dual protocol version support.
2014-01-27 11:26:27 +11:00
md_5
5f7963b0c4
Add more validation to server icons. Closes #828
2014-01-22 12:16:48 +11:00
md_5
dae96ac18b
Close #819 - remove trailing . from hostname if it exists
2014-01-22 12:09:29 +11:00
md_5
aa91354666
Make sure plugin onLoad is really called onLoad. This fixes regression #822 from when we implemented plugin depends.
2014-01-22 12:07:16 +11:00
md_5
219d485835
Make the yaml reconnect handler a module
2014-01-17 09:25:22 +11:00
md_5
6602c22147
Ensure modules are enabled even when we can't detect version
2014-01-14 13:18:14 +11:00
md_5
f1b329bf21
Finish implementing modules. If anyone wants to test... be my guest.
2014-01-14 13:13:27 +11:00
md_5
ab1aacbdc9
Implement a first tempt and module retrieval system
2014-01-13 15:16:17 +11:00
md_5
a426a5ec22
Implement module loader, blacklist this build from loading.
2014-01-13 14:28:07 +11:00
md_5
7483b4d276
Shuffle some internal stuff to API so that modules will compile
2014-01-10 09:58:31 +11:00
md_5
4be58a7c00
Copy across all the commands and add their bootstrap plugins.
2014-01-10 09:53:33 +11:00
md_5
986f52b1e1
Try harder to find translations when not using English. Closes #787
2014-01-05 11:34:34 +11:00
md_5
7faefde51b
Add name_too_long translation
2014-01-05 11:27:19 +11:00
TheUnnamedDude
8c367d86e7
Properly kick older clients
2014-01-05 11:25:42 +11:00
md_5
80caa2b669
Code format :(
2014-01-03 19:52:35 +11:00
md_5
9f8c04ef86
Update some dependency versions: Guava, MySQL, JavaAssist, Netty.
2014-01-03 19:51:44 +11:00
Thinkofdeath
e7f1a88e6e
Formatting fixes
2013-12-30 16:15:39 +00:00
kosgan10
5e57356e6a
Change Exception > Throwable
2013-12-30 18:10:39 +02:00
kosgan10
f3766bc10b
Fix hover messages for players
2013-12-30 18:07:30 +02:00
kosgan10
6c795a25ff
Change message to use ComponentBuilder
2013-12-30 15:43:58 +02:00
kosgan10
d3159fe6ca
Fix imports
2013-12-30 15:38:13 +02:00
kosgan10
93ba9b3a3e
Fix errors for console
2013-12-30 15:36:35 +02:00
Thinkofdeath
c184667a26
Add packet names as comments to EntityMap to make updating between versions easier
2013-12-28 22:55:09 +00:00
md_5
5ea4763ae9
Implement UUID forwarding, you MUST update Spigot for this to work
2013-12-24 10:10:11 +11:00
md_5
d0d0f4ec9f
Make getPlayers a little safer. Should probably use a CopyOnWrite collection though.
2013-12-23 17:41:27 +11:00
Keir Nellyer
608eaace1c
Fix NPE when no Callback is defined FIXES #772
2013-12-21 12:14:42 +00:00
md_5
075518b643
Implement a connect callback - see #760
2013-12-21 13:11:27 +11:00
md_5
f7d3dfd61d
Show severe error for missing forced error, but don't crash
2013-12-20 18:57:13 +11:00
md_5
b713ccff10
Validate forced hosts config on reload
2013-12-19 19:30:24 +11:00
md_5
60d6f31876
Generate offline mode UUIDs the same way Mojang does.
2013-12-16 22:41:19 +11:00
Thinkofdeath
359e2b2a16
Fix typo in /alertraw error message
2013-12-15 13:17:29 +00:00
thinkofdeath
0dcba749dc
Merge pull request #748 from thinkofdeath/master
...
Chat Component API
2013-12-14 02:31:42 -08:00
Thinkofdeath
5d68b422e5
Add ComponentBuilder + make events final
...
An example of ComponentBuilder usage can be found at CommandAlertRaw
2013-12-10 11:50:34 +00:00
Thinkofdeath
6093cde93f
Fix last commit
2013-12-08 18:04:20 +00:00
Thinkofdeath
4537055caa
Fix shooterID/ownerID not getting remapped
2013-12-08 17:36:29 +00:00
Thinkofdeath
17fc120e07
Move 0x13 to clientbound only
2013-12-08 16:47:17 +00:00
Thinkofdeath
230cca0f9e
Fix server-bound entity ids as well
2013-12-08 16:42:49 +00:00
Thinkofdeath
cfda905d98
Fix entity id remapping
...
The old system only worked in ints and 1.7 changed some to varints. Since the length of the varint is variable more work is needed to remap ids
2013-12-08 15:09:12 +00:00
Thinkofdeath
bc746a546f
Added another unit test + formatted code
2013-12-08 10:17:02 +00:00
Thinkofdeath
70bb3ddcce
Added some unit tests
2013-12-08 00:48:10 +00:00
Thinkofdeath
0040955204
Fix events not working when no formatting is used
2013-12-07 13:59:00 +00:00
Thinkofdeath
60e2e6bfa4
Add /alertraw command + fix events
2013-12-07 13:35:52 +00:00
Thinkofdeath
c7e590e286
Move en_US.properties to mojang-translations/en_US.properties
2013-12-06 23:21:52 +00:00
Thinkofdeath
696679809d
Support printing TranslatableComponents
2013-12-06 23:18:10 +00:00
Thinkofdeath
e3e551d825
Use varargs instead of arrays
2013-12-06 23:02:05 +00:00
Thinkofdeath
854b6faf0e
Fixed broadcasts getting double logged
2013-12-06 22:40:41 +00:00
Thinkofdeath
890fac27c5
More formatting fixes
2013-12-06 22:40:40 +00:00
Thinkofdeath
35c1b26a20
Fix formatting
2013-12-06 22:40:40 +00:00
Thinkofdeath
2c8b15cb1e
Use components for ServerKickEvent ( fixes #744 ) + minor refactoring
2013-12-06 22:40:40 +00:00
Thinkofdeath
c20d8f9cd6
Chat Component API
2013-12-06 22:40:40 +00:00
md_5
85c27f30ee
Properly abort kicks on ServerConnector
2013-12-07 09:33:37 +11:00
Thinkofdeath
54d307da57
Reduce the size of json output
...
Nulls are not outputted (https://sites.google.com/site/gson/gson-user-guide#TOC-Null-Object-Support )
2013-12-03 08:17:38 +11:00
Thinkofdeath
81e43aab98
Update ChatConverter
2013-12-03 08:17:38 +11:00
Thinkofdeath
18db187347
Use the ChatConverter from spigot to fix 1.7 formatting bugs
2013-12-03 08:17:38 +11:00
hcherndon
aad83d787f
Add methods to expose parts of the proxy internal config. This is depreceated as it is subject to breaking changes without warning.
2013-12-02 15:17:19 +11:00
Keir Nellyer
af751dae5a
Add new plugin message sub-channels to get a players real UUID
2013-12-02 08:37:17 +11:00
md_5
f7851b0436
Implement ServerDisconnectEvent. Wow so many server switch events.
2013-11-25 11:12:49 +11:00
md_5
94ee61cd35
Native cipher, with more smoke tests!
2013-11-19 07:16:06 +11:00
md_5
897a59254c
Still segfaulting.
2013-11-18 20:00:15 +11:00
ninja-
c70006a36c
Implement new, high-performance cipher in native code. Currently available only for Linux-x64, other platforms will fallback to Java cipher.
2013-11-18 07:17:14 +11:00
md_5
12ef019d69
Revert native cipher, causing SIGSEGV
2013-11-17 16:51:11 +11:00
ninja-
fc189e81d5
Implement new, high-performance cipher in native code. Currently available only for Linux-x64, other platforms will fallback to Java cipher.
2013-11-17 15:59:18 +11:00
md-5
aaa8b4a53d
Forgot to rewrite 0x1A, thanks @Mati0703
2013-11-17 14:45:58 +11:00
md_5
e39428ea0b
Mojang can't seem to decide what chat format to use for kicks, so lets just send a literal without our own prefix through. This (uncleanly) closes #714 .
2013-11-16 11:22:38 +11:00
md_5
e4602f027e
Don't pointlessly create new gson instances
2013-11-16 11:11:43 +11:00
md_5
3ae8308a4b
Small cleanup
2013-11-15 16:53:10 +11:00
md_5
cc0d3a8e49
Config -> Conf to prevent messup with shades. How did this skip by?
2013-11-06 20:12:39 +11:00
md_5
f81bf8e7c5
Code format + fix pom
2013-11-06 20:11:17 +11:00
zh32
e755573fb3
Removed unused import and made code nicer.
2013-11-06 20:07:16 +11:00
zh32
a201b5897a
Added async PreLoginEvent to change online mode per connection.
2013-11-06 20:07:16 +11:00
md_5
8e390b5714
Proper replacement for #701 , closes #691
2013-11-05 18:16:33 +11:00
md_5
14371a1a8c
Don't rewrite the actual host packet, just a copy.
2013-11-05 18:07:55 +11:00
md_5
61326db3ee
Not having a good night, thought I removed that code.
2013-11-03 18:00:30 +11:00
md_5
90625bc196
Remove test code
2013-11-03 17:15:44 +11:00
md_5
155e274e72
Fix disconnects during LoginEvent when using online mode clients
2013-11-03 17:04:59 +11:00
md_5
04b52aa4f4
Close #699 - case sensitivity of command tab complete
2013-11-03 10:02:37 +11:00
md_5
4040d9f20a
[Breaking] Fix player online sample
2013-11-01 22:00:46 +11:00
md_5
02619c6132
Close #689 - fix serverinfo.ping
2013-11-01 17:52:14 +11:00
md_5
26863032a1
Fix #671 - user timing out when connectNow is used.
2013-11-01 17:46:41 +11:00
md_5
a0d3bf97d1
Close #690 , wire up the old proxy ping event for old clients
2013-11-01 17:43:03 +11:00
md_5
3becbe4d38
Fix #686 - rewriting of bows and fishing hooks
2013-11-01 17:38:53 +11:00
md_5
7205e69ce6
Correct some issues with being banned. See #658 which may be relevant
2013-11-01 17:24:35 +11:00
md_5
c84d6f0035
Add really efficient text -> json translation. Doesn't support format codes yet.
2013-11-01 17:14:18 +11:00
md_5
20b1b37e54
Did someone say great performance increases?
2013-10-28 20:43:28 +11:00
md_5
2117a6b7de
Undo kick changes
2013-10-27 21:41:10 +11:00
md_5
e6c1015027
Reload favicon on greload
2013-10-27 20:07:36 +11:00
md_5
8665784bb5
Oh right, stage
2013-10-27 18:23:07 +11:00
md_5
efd5bd58e4
Fix colours wrapping, somewhat
2013-10-27 18:18:44 +11:00
md_5
e006673550
Fix kicks + don't allow connections to online mode servers
2013-10-27 18:12:18 +11:00
md_5
2129cb3614
Fix kicks?
2013-10-27 18:09:27 +11:00
md_5
b9158b7322
Implement 1.7 style pings
2013-10-27 12:59:35 +11:00
md_5
5dfd14fbe5
Enhance ping API
2013-10-27 12:36:30 +11:00
md_5
e1f7b7b126
Add new ip forward method, must be manually enabled
2013-10-27 12:06:17 +11:00
md_5
e2e32100cd
Common method to wrap text. Thanks @lazertester
2013-10-25 20:39:06 +11:00
md_5
a7e4854661
Fix kick
2013-10-25 20:09:18 +11:00
md_5
6e69d476ef
Fix 1.7 potion etc support
2013-10-25 17:25:13 +11:00
md_5
1e2eda94db
Don't log metrics
2013-10-24 07:14:06 +11:00
md_5
37dc600fe0
BungeeCord can into server icon
2013-10-23 20:44:48 +11:00
md_5
0952e53d11
Update to 1.7 poms.
2013-10-23 17:33:21 +11:00
md_5
cdf47d84d8
Fix offline mode. Latest snapshot appears to be pretty much functional, although the client itself seems to have some reliability issues.
2013-10-19 20:01:22 +11:00
md_5
b7babd2888
Fix ping player counts being swapped
2013-10-19 17:56:14 +11:00
md_5
da5fa4bb7c
Fix outdatedness
2013-10-19 17:50:54 +11:00
md_5
00854988fb
Latest snapshot. Doesnt seem to be worky though
2013-10-19 17:42:45 +11:00
md_5
4f8085678c
1.6.4 ping support
2013-10-19 17:27:13 +11:00
md_5
6341ad4c5a
Merge branch 'origin/master'
2013-10-19 16:44:27 +11:00
md_5
194b09b2dd
Dont expand events - closes #666
2013-10-19 07:10:31 +11:00
md_5
18db20fe42
41b update
2013-10-15 16:29:36 +11:00
md_5
d96e561a6f
Cleanup debug
2013-10-12 15:30:32 +11:00
md_5
1551bf6f3a
Ping stuffs, doesnt seem to work for some reason though
2013-10-12 13:51:33 +11:00