Commit Graph

1108 Commits

Author SHA1 Message Date
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
md_5
e0ebf1af21 All my work on 1.7 so far. Pinging doesnt work, but everything else is near functional. Gotta figure out wtf is happening. 2013-10-12 12:08:26 +11:00
md_5
b8c9330bd6 Sigh 2013-10-12 12:01:17 +11:00
md_5
1b41682e37 Checkpoint 2013-10-12 11:36:53 +11:00
md_5
b358fd25f5 Done with the proxy to client part. Now we just need the proxy to server part. 2013-10-11 21:40:23 +11:00
md_5
dbdae87ec6 Basically done with login 2013-10-11 21:36:28 +11:00
md_5
7121c20338 Compiles yet again 2013-10-11 20:34:21 +11:00
md_5
d900417d95 It compiles 2013-10-11 20:00:54 +11:00
md_5
7be929bb08 Update protocol - major overhaul 2013-10-11 19:26:40 +11:00
md_5
4257b81d8c WIP 2013-10-11 18:40:21 +11:00
md_5
96acdb97fd Update to latest snapshot. 2013-10-11 16:16:02 +11:00
md_5
edc5b4dc91 Close #656 - fix find filter. 2013-10-11 10:24:55 +11:00
md_5
220a95aece We cannot throttle like this if we want 1.7 compat, lets disable it until we work on a more compatible one. 2013-10-10 07:25:20 +11:00
md-5
6c14f40108 Reduce the time we wait for legacy pings. 2013-10-08 09:06:28 +11:00
md_5
b041d84063 Null check plugin input for servers 2013-10-07 16:55:29 +11:00
md_5
a9d3d9461f Mojang nerfed tab lists :( 2013-10-06 08:42:52 +11:00
marvin
a0d94282f6 Add PlayerHandshakeEvent which allows changing of versions and online mode status amongst other things. 2013-09-30 09:22:49 +10:00
md_5
33e11f4c44 Allow for iterables to be CSV-ified 2013-09-29 18:49:20 +10:00
md_5
b541e7aa76 Custom glist formatting 2013-09-29 18:45:11 +10:00
zaiyers
dd06937a3b changes to tab completion
* PacketCBTabComplete: options for completion should be seperated by
NUL
 * PluginManager: append an empty argument to arguments if command ends
with a whitespace (this will match all suggestions)
 * PlayerCommand: suggest only matching players instead of all players
2013-09-29 09:37:39 +10:00
md_5
891dc87b16 Allow unrecognised command line args 2013-09-28 21:00:38 +10:00
md_5
8e77cb35ff Use JDK map for throttle 2013-09-28 18:32:39 +10:00
md_5
73ce828e6e [#637] - Fix resource bundle resolution 2013-09-26 09:24:30 +10:00
md_5
79d04bec2e [#582] Widen synchronized block for packet queue. 2013-09-26 09:20:52 +10:00
md_5
cbcd874d47 Close #626 - command line argument for version. Also refactors into a bootstrap which warns users when not using Java 7! 2013-09-25 17:21:03 +10:00
md_5
09f123ce9a guery -> query 2013-09-24 17:50:44 +10:00
md_5
32a5271dc3 Implement basic udp query to close #185 2013-09-24 10:09:55 +10:00
md_5
14389eb370 Use correct main class 2013-09-23 10:30:41 +10:00
md_5
a8b6a6b4aa Finish basic Yaml configuration API, complete with unit tests. Needs a lot of work with regards to how sections are handled, open to massive improvements from anyone that has more know-how. 2013-09-23 10:28:30 +10:00
md_5
8133304cce Use = for properties 2013-09-22 17:37:06 +10:00
md_5
3e8c21a485 Add specific exception for bad packets. 2013-09-21 16:57:17 +10:00
Matty Southall
f12dcc72d9 Fix compile error when compiling on OS X 2013-09-21 10:55:39 +10:00
md_5
a7a32509c7 find * -type f -print0 | xargs -0 sed -i 's/1.6.2/1.6.4/g' 2013-09-20 19:51:57 +10:00
md_5
703a393888 Procol -> Protocol. Fix typo, thanks @libraryaddict 2013-09-20 15:41:30 +10:00
md_5
12ee68a315 Update to 1.6.3 2013-09-19 17:41:01 +10:00
md_5
db5510cc4e Only interrupt tab completion if we have things to complete! 2013-09-17 10:28:51 +10:00
md_5
5ed5c71aea Move AbstractReconnectManager to the API and rename to AbstractReconnectHandler. 2013-09-16 08:21:53 +10:00
md_5
38a8469ab4 Cap command completion to one argument 2013-09-15 15:14:47 +10:00
md_5
9538dcf4d4 Properly tab complete 2013-09-15 14:04:51 +10:00
md_5
33f654ce6f *unused imports 2013-09-15 07:44:13 +10:00
md_5
c108e4e1ce Server command completion 2013-09-15 07:43:50 +10:00
md_5
e998faeec1 Add tab completion for find command. Also change api a bit. 2013-09-15 07:37:20 +10:00
md_5
d67acd7bc9 Add functionality to replicate #336 2013-09-15 07:29:22 +10:00
md_5
702f434db1 Add API to support #468 - force setting of reconnect server 2013-09-15 07:12:58 +10:00
md_5
1dca12cffb Use boolean not binary and 2013-09-15 06:48:06 +10:00
md_5
29c897c9cf Add Tab Completion loosely based on @TheUnnamedDude's work. 2013-09-15 06:46:10 +10:00
md_5
042f47cbb9 Wrapped buffers are not thread safe. 2013-09-10 21:33:44 +10:00
md_5
422e97f495 Don't let pingbuf be released 2013-09-10 21:26:59 +10:00
md_5
08789d8f9f Write down a supported message type (ByteBuf) when using the ping handler. 2013-09-10 20:56:40 +10:00
md_5
af58db8a67 Simpler, unit tested throttle to close #613 2013-09-10 12:02:29 +10:00
md_5
49cffebd9b Dynamic build dates - see #526 2013-09-10 11:37:48 +10:00
md_5
ffdb917f2c Use translation - closes #578 2013-09-09 14:58:56 +10:00
md_5
7384e797fc Bump date 2013-09-08 11:49:27 +10:00
md_5
ccdf2a89d8 Close #518 - use csv method for perms command 2013-09-07 12:22:43 +10:00
md_5
89edb00c05 Properly cancel tasks! 2013-09-05 19:52:41 +10:00
Ammar Askar
c352e854ee Catch exceptions when disabling plugins 2013-08-25 10:27:25 +10:00
md_5
d8c92cd311 Add ConnectOther channel for moving other players from a plugin 2013-08-25 10:23:17 +10:00
md_5
99f361ca77 Instead of storing packets about to be passed on as a byte array, store them as a Netty buffer, which is likely to be pooled, direct and manually memory managed leading to increased performance and less GC strain. In order to ensure no resources are leaked, we free them at the end of each handle cycle if they have not been passed to a channel for writing. In initial profiles this now causes encryption to be one of the most intensive parts of BungeeCord, however in depth profiling snapshots may provide further routes for optimization. 2013-08-20 19:29:43 +10:00
md_5
738ed99d54 Code format. 2013-08-20 19:28:09 +10:00
md_5
ad0da59267 Really need to automatically do this. Add a few weeks to expire time 2013-08-20 18:50:52 +10:00
md_5
1dcc8d6a4b Close #572 - kick event message 2013-08-20 11:18:51 +10:00
md_5
0840a77153 Dem dates :( 2013-08-15 07:44:33 +10:00
md_5
61a93a54a9 ammar2 missed a spot 2013-08-14 22:14:32 +10:00
md_5
da0281508e Oi! Get back inside of that if statement. NOW! 2013-08-13 18:53:16 +10:00
Ammar Askar
51e92de2dd Only save to reconnectHandler if we have a listener that isn't forcing to the default server 2013-08-13 18:50:19 +10:00
md_5
773ce089c1 Fix http client 2013-08-10 07:30:41 +10:00
md_5
b68b6a76c7 Recover from broken yaml 2013-08-09 17:23:16 +10:00
md_5
332033bb02 Disable resource leak detector for ~15% cpu reduction 2013-08-09 16:58:14 +10:00
md_5
172b8bc75b Update to Netty 4.0.6-Final 2013-08-09 16:56:09 +10:00
md_5
db5a147491 Revert changes to SeverConnectedEvent 2013-08-06 11:14:54 +10:00
md_5
f083e27649 More translations! 2013-08-05 17:29:47 +10:00
md_5
b64a7be19b Bump date to the 9th 2013-08-04 21:34:56 +10:00
md_5
c4d60a8fa9 Hold player for ServerSwitchEvent - see #539 2013-08-04 21:28:10 +10:00
md_5
f07cfe0cf7 Make the ServerConnectedEvent async to allow stalling it. Closes #538 by @BjoernAkAManf. 2013-08-04 20:58:17 +10:00
mrapple
ee8f33c196 Add State to ServerKickEvent 2013-08-04 18:57:13 +10:00
md_5
14ac2dd308 Allow setting whether to bind to the local address. 2013-08-04 18:56:48 +10:00
md_5
fb94612315 Fix throttle to 1) Work, 2) Not throttle outbound connections 2013-08-02 19:31:46 +10:00
md_5
4c96880580 Lets just silence java.util.NoSuchElementException: decrypt - PEOPLE DON'T UNDERSTAND ITS NOT AN ERROR. 2013-08-02 19:11:16 +10:00
md_5
4c4cdd51a1 Downgrade to Netty CR9 2013-08-02 07:32:42 +10:00
md_5
1f38152530 [URGENT] Add connection throttle. 2013-08-01 13:37:32 +10:00
md_5
911f08d52c Disable packet grouping in an attempt to increase reliability. 2013-07-31 20:18:54 +10:00
md_5
8f961c9d4e Put colours in default motd to try and force quoting in the dumped yaml 2013-07-27 12:12:12 +10:00
md_5
8a5d8a57f7 Don't infinite loop on tasks with no period 2013-07-24 17:38:46 +10:00
md_5
c54553d0f9 How kind of @lazertester to test the new scheduler! 2013-07-24 17:32:08 +10:00
md_5
600a1b4ff5 Update expire date 2013-07-24 17:02:37 +10:00
md_5
09e592295f Update to Netty 4.0.4-Final 2013-07-24 15:58:02 +10:00
md_5
b3e8feb4cb Update POMs to 1.6.2 2013-07-18 20:13:07 +10:00
md_5
d0d1562155 Hi, I'm Mojang and I make hundreds of millions of dollars a year. I still like to think I am an Indy company, so I randomly remove existing game features and don't provide replacements.
Removes Texture Pack setting
2013-07-18 20:10:45 +10:00
md_5
f510ab2a0b Update to netty 4 final, exciting! 2013-07-17 16:47:49 +10:00
md_5
fb1cab499d Always use eventloop since we cannot be sure about plugins, thanks @MonsieurApple for the report. 2013-07-12 09:29:53 +10:00
md_5
58ca63e2b1 Use a defensive copy for shorter lock time 2013-07-11 11:14:12 +10:00
md_5
499337c98e Optimized yaml reconnect locations! Ding dong sqlite is dead.. 2013-07-11 11:12:43 +10:00
md_5
526137be7b Remove our packet queuing as it may be contributing to high CPU usage and/or memory leaks. 2013-07-11 10:14:51 +10:00
md_5
47839cb11c writeStringUTF8WithoutLengthHeaderBecause @Dinnerbone StuffedUpTheMCBrandPacket 2013-07-10 23:42:50 +10:00
md_5
55a6cc56ef Recycle messagelist when channel goes inactive (reverted from commit daa58ffe58) 2013-07-10 23:41:37 +10:00
md_5
8c2bea5be2 Fix possible race condition with regards to abandoning servers 2013-07-10 13:02:25 +10:00
md_5
daa58ffe58 Recycle messagelist when channel goes inactive 2013-07-10 09:18:58 +10:00
md_5
0189ad9c17 Add disabled commands 2013-07-09 14:55:27 +10:00
md_5
0c56945ffd Implement upcoming Minecraft API to get the server brand - thanks @Grum for the hint. 2013-07-08 21:29:09 +10:00
md_5
0a36cbd5bc Fix compilation -> add silly catch block 2013-07-08 08:41:11 +10:00
md_5
61b4777177 Use more threads for IO to eliminate resource starvation possibly leading to high CPU usage. This brings the count back in line with what we had pre 1.6 / late 1.5 2013-07-08 08:35:12 +10:00
md_5
7d1904584b Back to Java cipher, they are both the same speed 2013-07-08 08:33:25 +10:00
md_5
475571986c Make sure packets are written before closing 2013-07-07 13:08:25 +10:00
md_5
55c2bcd634 Undo recent SQLite changes - might need to seek *another* DB engine - whats H2 like for concurrency? 2013-07-06 08:30:38 +10:00
md_5
db4abfe486 Expand streams a little bit 2013-07-05 19:17:25 +10:00
md_5
9424bdedca Implement basic MC stream 2013-07-05 19:06:46 +10:00
md_5
52b3c6b77c Dont need to force use of eventloop anymore 2013-07-05 09:32:20 +10:00
md_5
be29799f5a [Beta] Implement own HTTP client for online mode checks, instead of asynchttpclient 2013-07-05 09:29:28 +10:00
md_5
c0d581d41f Rework SQLite again to use thread local connections - closes #492 2013-07-05 08:23:29 +10:00
md_5
6b50c7c599 Move HTTP client stuffs into bungee-proxy 2013-07-04 21:59:38 +10:00
hyperring
b4101874cc Fixed forced_hosts MOTD
Noticed a tiny bug in creating a ServerPing response. The response was still using the old listener.getMotd() when it should be using the new motd variable (to take advantage of the new forced_hosts MOTD methods).
2013-07-04 21:39:33 +10:00
md_5
66de4c95ef Implement BouncyCastle as the cipher engine. 2013-07-04 21:13:10 +10:00