Kristian S. Stangeland
d76d4247b0
Ensure Player.getAddress() returns the client's address.
...
I mistakenly returned the server's address instead.
2014-03-16 03:51:44 +01:00
Kristian S. Stangeland
5e0000d139
Properly cancel or modify packets intercepted in the channel thread.
...
This fixes ticket #204 on BukkitDev.
2014-03-15 19:25:40 +01:00
Kristian S. Stangeland
ad060b10af
Fixed a bug introduced in #218 causing packet loops. FIXES 202.
...
In 659f01cc63
, I attempted to
execute packet listeners for receiveClientPacket() on the channel
thread, inadvertently causing them to be executed regardless if
filtered was FALSE, and twice if it is TRUE.
Since asynchronous packet listeners use this feature to take out
packets from the packet stream, they wound up causing an infinite
packet loop. This prevented them from ever being received by the
server.
2014-03-15 03:59:28 +01:00
Kristian S. Stangeland
75a5efcaa1
Add the ability to see registered asynchronous listeners.
2014-03-13 23:55:33 +01:00
Kristian S. Stangeland
f4f8817fd5
Undo mocking when we're done with the test.
2014-03-13 03:34:51 +01:00
Kristian S. Stangeland
38c62c4cfd
Ensure sendServerPacket() works in the channel thread as well.
...
If we're already in the channel event thread, we won't go through
the ChannelProxy code, so, check scheduledProcessing in the write
method as well.
2014-03-13 03:02:41 +01:00
Kristian S. Stangeland
4259a86740
Optimize lookup of getBukkitEntity.
2014-03-03 23:11:05 +01:00
Kristian S. Stangeland
b84aace585
Increment to 3.3.0-SNAPSHOT.
2014-02-23 22:49:46 +01:00
Kristian S. Stangeland
e8c77af92b
Get rid of the other weak maps, and use thread local fields instead.
...
This should improve performance, and prevent the possibility of not
informing plugins of sent packets.
2014-02-23 22:13:46 +01:00
Kristian S. Stangeland
659f01cc63
Remove concurrent "processed" and "ignore" hash maps.
...
We can rely on the fact that channel handlers are processed in a single
thread, and simply enable/disable a flag.
2014-02-23 18:55:41 +01:00
Kristian S. Stangeland
6e0a44f9df
Don't cache the NetHandler when checking if it has changed.
2014-02-21 19:28:07 +01:00
Kristian S. Stangeland
5f66dc6b4a
Update to 3.2.2-SNAPSHOT.
2014-02-21 19:15:31 +01:00
Kristian S. Stangeland
eb7760236f
Don't update the player instances on the LOGIN packet.
...
Instead, always check for the presence of NetServerHandler,
and update then.
2014-02-21 19:14:58 +01:00
Kristian S. Stangeland
eb421dd31e
Don't load converters that belong in 1.7.2.
2014-02-21 19:14:05 +01:00
Kristian S. Stangeland
7503470cb1
No need to throw an exception if the "last updated" file is corrupt.
2014-02-18 21:46:42 +01:00
Kristian S. Stangeland
6443de6257
Properly display blocks using the packet monitoring system.
2014-02-15 12:47:30 +01:00
Kristian S. Stangeland
a8378d4e6f
Regression: Add back support for CraftBukkit 1.1.0
2014-02-11 23:58:57 +01:00
Kristian S. Stangeland
4e650ec7bf
Quote replacement string.
2014-02-11 13:44:56 +01:00
Kristian S. Stangeland
f71ed90b04
Refresh the Netty registry when packet listeners are added. FIXES #40
2014-02-07 19:37:08 +01:00
Kristian S. Stangeland
345cc74b3c
Fixed a bug preventing dual side packets from working in 1.6.4.
...
An example of a dual side packet is Packet101CloseWindow, which is
sent by the server when it forces a inventory window to close, or
by the client to the server when the player voluntarily closes it.
The bug prevented the client-side of a dual side packet from being
recognized in 1.6.4. Thanks to Shevchikden for discovering the bug,
and finding the correct build number where it was introduced.
2014-02-04 22:53:56 +01:00
Kristian S. Stangeland
9ef9475b61
Correct a concurrency bug discovered by mibby. FIXES #39 .
...
It's another lazy initialization problem. I only check a single
field before initializing two related fields, which can cause
problems when two threads execute handleLogin() concurrently.
If thread A detects that PACKET_LOGIN_CLIENT is null, it updates both
it and LOGIN_GAME_PROFILE. However, thread B may only see the
PACKET_LOGIN_CLIENT update, and still believe LOGIN_GAME_PROFILE is
NULL. Hence why it causes a NullPointerException in issue #39 .
2014-02-03 01:38:52 +01:00
Kristian S. Stangeland
ea7b550bda
Use PacketType in PacketContainerTest.
2014-02-02 19:54:49 +01:00
Kristian S. Stangeland
8bd177daf5
Update the integration test for Minecraft 1.7.2.
2014-02-02 19:46:03 +01:00
Kristian S. Stangeland
12286ebaa7
Expose configuration to plugins.
2014-02-02 19:45:30 +01:00
Kristian S. Stangeland
b59f55e2e5
Added support for serializing/deserializing WrappedServerPing to JSON.
2014-02-02 16:50:56 +01:00
Kristian S. Stangeland
752807fa5f
Split up TinyProtocol and its built-in reflection system.
2014-02-01 16:38:24 +01:00
Kristian S. Stangeland
96cc518fb0
Throw a more descriptive error of a packet type hasn't got a class.
2014-01-30 02:04:38 +01:00
Kristian S. Stangeland
6e3583b300
Increment to 3.2.1-SNAPSHOT
...
Use Maven resource filtering to automatically update plugin.yml.
2014-01-30 02:03:09 +01:00
Kristian S. Stangeland
cfde9ecce8
Incrementing to 3.2.0
2014-01-29 04:00:40 +01:00
Kristian S. Stangeland
ef4bd2ddcd
Race condition that would occationally skip STATUS packets. Fixes 198
2014-01-29 01:06:05 +01:00
Kristian S. Stangeland
bf8c16e22d
Construct missing packet types. Possible fix for #197 .
2014-01-28 01:38:34 +01:00
Kristian S. Stangeland
fb07a91fb0
Updating TinyProtocol significantly.
...
Added the ability to send and recieve packets, along with a more
powerful reflection system. You can now retireve Minecraft classes
by name.
2014-01-28 00:58:57 +01:00
Kristian S. Stangeland
5d7895d741
Fixed a VERY long standing bug discovered by libraryaddict.
...
Constructing a WrappedWatchableObject with a
net.minecraft.server.ItemStack would cause ProtocolLib to throw an
IllegalArgumentException, even though WrappedWatchableObject.
setValue(Object) accepts ItemStacks without trouble.
This is because WrappedWatchableObject.getUnwrappedType() didn't handle
ItemStacks at all.
2014-01-23 02:55:47 +01:00
Kristian S. Stangeland
385bae8bda
Increment to 3.1.3-SNAPSHOT
2014-01-20 06:21:51 +01:00
Kristian S. Stangeland
7ae0399721
Lookup packet types by name as well.
2014-01-20 06:21:20 +01:00
Kristian S. Stangeland
5cffccd8ca
Bumping to version 3.1.2
2014-01-19 17:01:45 +01:00
Kristian S. Stangeland
c87c0a9299
Add support for legacy /packet commands.
2014-01-19 00:27:57 +01:00
Kristian S. Stangeland
d70e9d28d4
Properly handle WrappedGameProfile during packet cloning.
2014-01-17 23:58:04 +01:00
Kristian S. Stangeland
90548f1092
Periodically clean up injectors in Spigot 1.6.4 and earlier.
...
This (may) fix a fairly serious memory leak.
2014-01-17 02:51:22 +01:00
Kristian S. Stangeland
eea0d131bb
Updated the timings system to the new PacketType format.
...
Also made PacketType comparable.
2014-01-16 04:04:23 +01:00
Kristian S. Stangeland
0c718f9484
Attempting to correct a memory leak in ticket #189 .
2014-01-13 03:46:06 +01:00
Kristian S. Stangeland
e23129540c
Ensure WrappedGameProfile can handle NULL profiles.
...
We also implement hashCode() ourselves, to avoid Mojang's buggy
version that doesn't handle NULL.
2014-01-11 02:24:56 +01:00
Kristian S. Stangeland
4f95b515ae
Complain about lack of page index to packet page.
2014-01-11 02:13:41 +01:00
Kristian S. Stangeland
a902c1f186
Add support for using multiple lines in WrappedServerPing.
2014-01-09 20:01:37 +01:00
Kristian S. Stangeland
75fe2c6db9
Merge pull request #37 from Minecrell/patch-3
...
Correctly modify player sample with hidden player counts.
2014-01-09 08:30:03 -08:00
Minecrell
7ed24e72f6
Correctly handle player samples set to null.
2014-01-09 17:25:53 +01:00
Minecrell
2a729cfe2d
Return an empty list instead of null when getting the player sample.
2014-01-09 17:18:34 +01:00
Minecrell
3e7fe52681
Correctly modify player sample with hidden player counts.
...
At the moment the setPlayers() method will throw a NullPointerException
if the player count has been hidden. This will correctly reset the
player counts before setting the player list and return null in the
getter instead of throwing an exception.
2014-01-09 16:45:05 +01:00
Kristian S. Stangeland
31b26fd0c5
Catch more serious errors in the plugin verifier.
...
It doesn't make sense for the caller to handle those.
2014-01-08 14:53:03 +01:00
Kristian S. Stangeland
7e9860f4c0
ProtocolLib is working fine in 1.7.4
2014-01-02 16:01:04 +01:00