Commit Graph

1445 Commits

Author SHA1 Message Date
Felix Cravic
3bc90fffd9 Prevent EntityCreature from ignoring gravity 2020-11-26 14:14:40 +01:00
Felix Cravic
e813037475 Fixed position fields update for netty connections 2020-11-26 13:38:52 +01:00
Felix Cravic
63196e024b Fixed EntityTeleportPacket being sent for every position fields modification and use a proper entity movement packet instead of velocity 2020-11-26 12:46:49 +01:00
Eoghanmc22
012e65337d Improve follow target goal 2020-11-25 21:36:18 -05:00
Eoghanmc22
f8840cf7a9 Merge branch 'master' of https://github.com/Minestom/Minestom 2020-11-25 20:15:08 -05:00
Eoghanmc22
338a1737c7 wait for netty to finish shutting down 2020-11-25 20:13:38 -05:00
Felix Cravic
0fc494d9df Fixed concurrent exception with attributes 2020-11-26 02:00:20 +01:00
Felix Cravic
79a5f99358 A few internal comments 2020-11-26 01:38:08 +01:00
Felix Cravic
ae845e38ab Small cleanup 2020-11-26 01:24:43 +01:00
Eoghanmc22
6d203b975e Merge branch 'master' of https://github.com/Minestom/Minestom 2020-11-25 19:06:45 -05:00
Felix Cravic
431d20ef73 Fixed syntax starting with an unspecified length argument 2020-11-26 00:57:01 +01:00
Eoghanmc22
296d645400 Merge branch 'master' of https://github.com/Minestom/Minestom
 Conflicts:
	src/main/java/net/minestom/server/benchmark/BenchmarkManager.java
2020-11-25 11:29:50 -05:00
Eoghanmc22
d1138f9f81 Fix race condition 2020-11-25 11:28:37 -05:00
Felix Cravic
049e3b8495 Position in Player#setInstance can be null 2020-11-25 12:21:29 +01:00
Felix Cravic
ab73b0fa3e Player#setInstance can now take an optional Position parameter 2020-11-25 12:12:58 +01:00
Felix Cravic
edf22fcb66 Prevent getting the cpu monitoring message if the benchmark manager is not enabled 2020-11-25 11:39:36 +01:00
Felix Cravic
df4dd762d9 Minestom is not really an alternative to Bukkit 2020-11-25 10:58:09 +01:00
Felix Cravic
24d4e9b7e4 Added BatchOption 2020-11-25 09:47:04 +01:00
Felix Cravic
7bbb095156 Fixed Player#setInstance not refreshing chunks when already in an instance 2020-11-24 22:56:12 +01:00
Felix Cravic
38bcb755c2 Fixed PotionEffect ids 2020-11-23 10:08:23 +01:00
Felix Cravic
daa72719a0 Specify that ASK_SERVER is required for dynamic write callback 2020-11-22 23:04:06 +01:00
Felix Cravic
0705ab34ed Allow custom suggestion type with ArgumentDynamicWord 2020-11-22 22:58:14 +01:00
Felix Cravic
e09397a0e2 Use of a lock object to synchronize instance entities collections 2020-11-22 22:18:47 +01:00
Eoghanmc22
d056fceb8a slightly improve performance and fix memory leak 2020-11-22 12:44:08 -05:00
themode
a8c1c73282 Use of a synchronized wrapper for InstanceContainer chunks map 2020-11-22 17:40:57 +01:00
Eoghanmc22
414245a1a6 Merge branch 'master' of https://github.com/Minestom/Minestom 2020-11-22 10:33:38 -05:00
themode
5966cdaa47 Reduced the number of garbage objects 2020-11-22 16:32:15 +01:00
Eoghanmc22
a934df2af2 Merge branch 'master' of https://github.com/Minestom/Minestom 2020-11-22 08:59:52 -05:00
themode
0a5349226e Replaced CopyOnWriteArraySet to IntOpenHashSet for block entities 2020-11-22 14:58:01 +01:00
themode
fcb59ff7e7 Removed unnecessary biomes clone 2020-11-22 14:52:37 +01:00
themode
2d7b4360c2 Fixed non-0 respawn point 2020-11-22 14:11:18 +01:00
themode
acc013be6a Fixed glitched chunks when teleporting a player + divided teleportation count by 2 during first join 2020-11-22 13:56:36 +01:00
themode
5d8b59c012 Fixed MinecraftServer#setChunkViewDistance making players show more chunks than what their option is 2020-11-22 13:23:53 +01:00
themode
aa2f8489b2 Fixed max string length 2020-11-22 11:16:21 +01:00
themode
8330abbc4b Fixed mojang authentication 2020-11-21 23:33:06 +01:00
Eoghanmc22
1af58b1d96 fix Main 2020-11-21 17:08:56 -05:00
Eoghanmc22
04fc38a14f Merge branch 'master' of https://github.com/Minestom/Minestom 2020-11-21 14:59:17 -05:00
themode
48b637cbc8 Fixed player spawn when a respawn point is not specified 2020-11-21 20:56:32 +01:00
Eoghanmc22
f2f0625666 Merge branch 'master' of https://github.com/Minestom/Minestom
 Conflicts:
	src/test/java/demo/PlayerInit.java
2020-11-21 13:23:16 -05:00
Eoghanmc22
926c02b7f5 Small optimizations to netty. 2020-11-21 13:09:03 -05:00
themode
ab98c11de3 ItemStack#isSimilar should return true if both items have the same identifier 2020-11-21 11:42:47 +01:00
themode
3087b120f9 Basic support for linux io_uring 2020-11-21 10:42:07 +01:00
themode
3193c0894e Typo fix 2020-11-21 10:27:39 +01:00
themode
27414f65ab Made packet caching optional (enabled by default) 2020-11-21 10:26:25 +01:00
themode
0e6bb6cc3d Replaced Arrays.copyOf to native #clone 2020-11-21 09:35:50 +01:00
themode
6ecf53c863 Increased player synchronization group from 50 to 75 2020-11-21 08:14:25 +01:00
themode
500fc2e903 Fixed chunk being asked two times 2020-11-21 08:06:04 +01:00
themode
234ac6daf4 Fixed build error 2020-11-21 06:43:12 +01:00
themode
404ddb5bf9 Added a new item data ownership system, replacing the old nbt consumer and NbtDataImpl 2020-11-21 06:37:44 +01:00
themode
58f035fc4a Added lastUpdate param comment in TemporaryCache 2020-11-21 05:53:30 +01:00
Eoghanmc22
4e11b16ee1 improve performance by 5-10% 2020-11-20 21:58:00 -05:00
Eoghanmc22
cb013f8291 player init 2020-11-20 15:19:20 -05:00
Eoghanmc22
62663ccb64 Merge branch 'master' of https://github.com/Minestom/Minestom 2020-11-20 13:38:41 -05:00
themode
2ae602df87 Rollback teleportation to respawn point 2020-11-20 19:23:50 +01:00
Eoghanmc22
1da7f5da78 Merge branch 'master' of https://github.com/Minestom/Minestom
 Conflicts:
	src/test/java/demo/PlayerInit.java
2020-11-20 12:28:52 -05:00
themode
8d0a24fd55 PlayerInit packet optimization 2020-11-20 18:23:46 +01:00
Eoghanmc22
c1c84217c2 Merge branch 'master' of https://github.com/Minestom/Minestom 2020-11-20 12:16:55 -05:00
Eoghanmc22
ee2e141673 implement pooled buffers 2020-11-20 12:16:45 -05:00
themode
206991ad0a Fixed TemporaryCache#retrieve not taking the last update time 2020-11-20 18:15:37 +01:00
Eoghanmc22
035844787e Merge branch 'master' of https://github.com/Minestom/Minestom 2020-11-20 11:39:15 -05:00
themode
7a1a43279a Fixed empty chunk when connecting during its generation 2020-11-20 17:13:00 +01:00
themode
da4216a51f Fixed chunk synchronization during generation and packet sending 2020-11-20 16:37:59 +01:00
Eoghanmc22
9a64a0a409 Merge branch 'master' of https://github.com/Minestom/Minestom
 Conflicts:
	src/main/java/net/minestom/server/entity/Player.java
	src/main/java/net/minestom/server/network/player/NettyPlayerConnection.java
	src/main/java/net/minestom/server/utils/PacketUtils.java
2020-11-20 08:56:58 -05:00
themode
d7d610ffef Fixed the player receiving multiple self position packet 2020-11-20 14:39:10 +01:00
themode
014bc8b0b5 Fixed DebugUtils 2020-11-20 14:21:20 +01:00
themode
871cb993b4 Do not send packet to empty collection 2020-11-20 14:14:55 +01:00
Eoghanmc22
6fd401589c slightly optimize CommandManager 2020-11-20 08:07:09 -05:00
themode
98fe83c605 Comments for PacketUtils 2020-11-20 14:05:22 +01:00
TheMode
8c5d013990 Flush in the current thread
Signed-off-by: TheMode <themode@outlook.fr>
2020-11-20 13:48:45 +01:00
themode
f1c0c99781 Fixed TemporaryCache check 2020-11-20 11:59:58 +01:00
themode
075ff7600a Added a whole new caching system for ChunkDataPacket and UpdateLightPacket 2020-11-20 11:14:15 +01:00
themode
e453a0f9b5 Added Chunk#getLastChangeTime 2020-11-20 08:39:06 +01:00
themode
02eab844a5 Fix logging when compression is disabled (not recommended) 2020-11-20 07:55:34 +01:00
themode
9f45cf11a3 Added todo to optimize buffer allocation 2020-11-20 05:50:52 +01:00
themode
4060f8d290 Added GroupedPacketHandler to prevent rewriting the same packet multiple times 2020-11-20 05:37:13 +01:00
themode
3455c77eb7 Explain the role of each handlers 2020-11-20 04:48:33 +01:00
themode
e8ddf44c39 Stop hardcoding handler names 2020-11-20 04:36:33 +01:00
themode
153f7215b3 Write packet only once when used with PacketUtils#sendGroupedPacket 2020-11-20 03:57:05 +01:00
themode
2d7159f888 Fixed javadoc 2020-11-20 03:50:41 +01:00
themode
0739b57dd1 Server packet listener now takes a collection of player, for future network optimization 2020-11-20 03:47:29 +01:00
TheMode
a0fccca1c6
Merge pull request #69 from JesFot/master
Add code style checks
2020-11-20 02:55:33 +01:00
TheMode
60bb0fec73
Merge pull request #71 from LeoDog896/master
Add llama entity with hitbox
2020-11-20 02:55:02 +01:00
JesFot
2c18312988
Merge branch 'master' into master 2020-11-20 02:12:02 +01:00
LeoDog896
974372d2bd Merge remote-tracking branch 'upstream/master' 2020-11-19 19:55:00 -05:00
LeoDog896
66f038113f Added EntityLlama 2020-11-19 19:53:22 -05:00
themode
018786463d Replaced the channel traffic handler to GlobalChannelTrafficShapingHandler 2020-11-19 15:37:12 +01:00
themode
533526d3a5 MainDemo does not require a default write and read speed 2020-11-19 08:48:33 +01:00
themode
099a8bafdc Increase socket send buffer to 1MB 2020-11-19 08:29:34 +01:00
themode
c1e623eddc Fix unmappable character 2020-11-19 08:19:16 +01:00
TheMode
af730fb73c Decrease default synchronization time group to 50
Signed-off-by: TheMode <themode@outlook.fr>
2020-11-19 08:11:09 +01:00
themode
69a268aa9d Fixed first player teleportation when the respawn point is not 0 0 0 2020-11-19 08:05:08 +01:00
themode
828069c685 Cleanup + reduced default chunk view distance to 8 2020-11-19 07:00:41 +01:00
TheMode
fae8e30272 Reduced compression level to 3
Signed-off-by: TheMode <themode@outlook.fr>
2020-11-19 04:54:54 +01:00
Eoghanmc22
f307303758 Netty improvements 2020-11-18 20:28:56 -05:00
Eoghanmc22
618fd2b536 Begin optimizing netty. 2020-11-18 13:39:06 -05:00
themode
f30330c59b Added PlayerStartDiggingEvent warning 2020-11-18 13:22:23 +01:00
themode
408ce03cfb Made PacketDecoder more readable 2020-11-18 11:15:58 +01:00
themode
e619dd6a8e Set the default write & read limit to 75KB/s per connection 2020-11-18 11:11:21 +01:00
jglrxavpok
142b6a69a5 Post-merge fixes 2020-11-18 09:24:59 +01:00
jglrxavpok
0a4bb5ab08 Merge branch 'extensions-v2'
# Conflicts:
#	src/main/java/net/minestom/server/extensions/Extension.java
#	src/main/java/net/minestom/server/extensions/ExtensionManager.java
#	src/main/java/net/minestom/server/extras/selfmodification/MinestomRootClassLoader.java
2020-11-18 09:13:30 +01:00
themode
cdbf514918 Player#getPlayerSynchronizationTickDelay comment 2020-11-18 07:44:57 +01:00
themode
6869c834f3 Allow dynamic synchronization delay based on the number of viewers 2020-11-18 07:43:45 +01:00
themode
40d6a71697 Cleanup 2020-11-18 06:39:20 +01:00
themode
2a1a1cdcbc add method to modify and retrieve the player synchronization cooldown 2020-11-18 05:19:44 +01:00
themode
553a280993 Per instance thread is now the default, added a configurable cooldown for player position refresh 2020-11-18 05:13:49 +01:00
JësFot
d968946c44 Restore deleted empty lines 2020-11-18 00:52:33 +01:00
JësFot
ad0f02cfa9 Add checkstyle gradle plugin 2020-11-18 00:50:27 +01:00
themode
2405b7ae6f KB, not MB 2020-11-17 16:11:59 +01:00
themode
7ebbb8bc6c Added networking optimization code in MainDemo 2020-11-17 16:08:30 +01:00
themode
ccaf9b5c47 Reformat code 2020-11-17 15:58:36 +01:00
JësFot
3597af34f9 Add comments to attribute system 2020-11-17 15:52:20 +01:00
JesFot
b9ea934857
Changing shareWithClient defaults to `true` 2020-11-17 15:10:48 +01:00
JësFot
d738f9fddd Implement attribute instances 2020-11-17 14:59:47 +01:00
themode
089f9a30aa Comments about write/read limit of 0 2020-11-17 08:15:05 +01:00
themode
f965c5b9c9 Added write and read limit 2020-11-17 05:27:05 +01:00
themode
37a626121b Set the default thread provider thread count to PROCESSORS*2 2020-11-17 02:56:55 +01:00
themode
c755dcfb0c Prevent permanent loop for console commands 2020-11-17 02:43:20 +01:00
themode
ddaa3a6678 Prevent potential synchronization issue while removing client cache 2020-11-17 01:33:12 +01:00
themode
8b526bcabe Decrease compression level to 3 2020-11-16 17:42:37 +01:00
themode
12822c508f Cleanup 2020-11-16 17:36:31 +01:00
themode
392e702108 Improving chunk generation performance 2020-11-16 17:02:40 +01:00
themode
d4637f328b Fix server ping 2020-11-16 12:44:20 +01:00
themode
a5839ae1c8 PacketListenerManager#processServerPacket comment 2020-11-16 12:25:13 +01:00
themode
798b5d4853 Only flush during player update 2020-11-16 12:03:22 +01:00
themode
540405e796 Optimized PacketCompressor 2020-11-16 11:41:03 +01:00
themode
310733b747 Fixed stacking not working with NbtDataImpl 2020-11-16 07:40:45 +01:00
themode
3db53a798f Removed lombok dependency 2020-11-16 03:10:51 +01:00
themode
11f1a5380c Fix data file not being generated in TestLootTables 2020-11-16 00:46:46 +01:00
themode
6fbea18b41 Javadoc clarification 2020-11-16 00:04:27 +01:00
themode
a8ef335ac5 Added docs folder for GitHub Pages 2020-11-15 23:39:49 +01:00
themode
beebf18af2 Fixed the chunk generator not being executed when no populator is defined 2020-11-15 10:44:11 +01:00
themode
f1d046753c Added info about chunk potential memory leak 2020-11-15 08:33:03 +01:00
themode
2285c9622a If the garbage collector is happy, everyone is - TheMode 2020-11-15 08:03:33 +01:00
themode
47a18fc305 Created PaletteStorage#clean 2020-11-15 05:12:28 +01:00
themode
f67328c7a7 Clarify that entity ids are unique server-wide 2020-11-14 23:24:16 +01:00
themode
44fbeaa2d8 Use player respawnPosition in the SpawnPosition packet 2020-11-14 23:21:47 +01:00
themode
4353e10741 Added bungee skin/uuid forwarding 2020-11-14 23:18:52 +01:00
themode
ae8a182eb8 Read player skin from velocity 2020-11-14 22:13:01 +01:00
themode
1d1e82aeb3 Prevent infinite load screen when not teleporting the player on spawning 2020-11-14 21:45:30 +01:00
themode
ea6981c4b0 Space cleanup 2020-11-14 21:05:23 +01:00
themode
0abedd7453 Optimization to prevent permanent map lookup 2020-11-14 09:02:29 +01:00
themode
648cad85c2 Entity implements now PermissionHandler 2020-11-14 07:09:36 +01:00
themode
da94942bad Created PermissionHandler 2020-11-14 07:06:46 +01:00
themode
868f921b94 Better warning message when a packet is not fully read 2020-11-14 05:33:24 +01:00
themode
facc43e550 Added OptifineSupport for fast fix 2020-11-14 04:09:38 +01:00
themode
0d3ef8e7a3 Synchronize biome registration 2020-11-14 03:21:16 +01:00
themode
a56a9aba3e Clarification for FakePlayer#initPlayer about player registration 2020-11-14 02:30:42 +01:00
themode
597f292c16 Synchronize BlockManager registration methods 2020-11-14 01:47:25 +01:00
themode
1a8baf36f6 Prevent command override using CommandManager 2020-11-14 01:39:51 +01:00
themode
669e7ea711 Prevent important biome fields from being null 2020-11-14 01:06:04 +01:00
themode
2ea2efb5a2 Comments for packet handler getter 2020-11-14 00:26:15 +01:00
themode
6586ca39bc Added MinecraftServer#getPacketProcessor and allow to override client packet and instantiate packet instance from an id 2020-11-14 00:20:19 +01:00
themode
a1fd711b85 Created DebugUtils 2020-11-13 21:57:45 +01:00
themode
ade727cd0f Cleanup + created SingleThreadProvider 2020-11-13 19:43:22 +01:00
themode
47045252e5 PacketUtils comment 2020-11-13 09:17:53 +01:00
themode
2d009e19a7 Added KQueue support on OSX + netty version update 2020-11-13 08:39:05 +01:00
themode
1bf8c5f89b Fixed time packet being sent every tick (should be every second now) 2020-11-13 07:45:35 +01:00
themode
c60f625c55 Revamp of the packet sending code, added possibility to have listeners for outgoing packets 2020-11-13 07:43:35 +01:00
themode
3c2c7acb0b Optimize PaletteStorage operations 2020-11-13 03:57:13 +01:00
themode
0ae656c1f2 Prevent placing blocks above y=255 2020-11-13 03:51:02 +01:00
themode
72d941bc74 Prevent corrupted item stack from crashing the server 2020-11-13 03:39:00 +01:00
themode
1e30283733 Fixed palette breaking with a Y below 0 2020-11-13 03:29:09 +01:00
themode
0ab9c79a28 Prevent array resizing during server tick 2020-11-13 03:26:35 +01:00
themode
f24ae00c8f Enable packet rate limit by default with a value of 300 2020-11-13 02:07:01 +01:00
themode
a992dc1ff9 Removed confusing BinaryReader method 2020-11-13 02:02:52 +01:00
themode
02f507d5ad Server shouldn't crash/lag when receiving a string too big 2020-11-13 01:53:55 +01:00
themode
674e1079dd Added max packet size condition 2020-11-13 01:34:25 +01:00
themode
373a1cf3a7 Removed TODO 2020-11-13 00:31:04 +01:00
themode
13932a6ca3 Removed RichMessage format retention, should be done manually. + cleanup 2020-11-13 00:28:22 +01:00
themode
d3d3cc6553 Each chunk section gets its own palette, should decrease memory usage on vanilla-like worlds 2020-11-12 22:41:41 +01:00
themode
5d8b8666f2 More PaletteStorage comments 2020-11-12 08:23:37 +01:00
themode
6e77bb8358 Improved demo commands clarity 2020-11-12 03:09:36 +01:00
themode
60d01fab11 Fix main loop sleep 2020-11-12 00:56:36 +01:00
themode
041bc721c8 Cleanup UpdateManager 2020-11-12 00:18:36 +01:00
themode
46bf69c9e2 PaletteStorage comments 2020-11-11 21:44:32 +01:00
themode
1d7db5e211 Added dynamic palette resizing 2020-11-11 21:35:20 +01:00
Eoghanmc22
a7a390307c Corrected bitwise palette code and some bugs. 2020-11-11 14:28:59 -05:00
themode
babc6e35ba Fixed palette 2020-11-11 17:30:18 +01:00
themode
55cddf6b78 Added palette 2020-11-11 17:13:36 +01:00
themode
00656d96e0 Cleanup 2020-11-11 08:16:42 +01:00
themode
93bae25085 Custom blocks also use a PaletteStorage object, removed StaticChunk since memory is not an issue anymore 2020-11-11 07:29:07 +01:00
themode
4dfe01ea2f WIP PaletteStorage (only works with Bits per entry of 15) 2020-11-11 06:06:28 +01:00
themode
b6bf6a17ba Merge branch 'master' into test-palette
# Conflicts:
#	src/main/java/net/minestom/server/instance/DynamicChunk.java
2020-11-11 04:27:03 +01:00
themode
dde3430010 ArgumentRelative comment 2020-11-11 04:24:09 +01:00
themode
d520a0ebc4 Created ArgumentRelativeVec to prevent code duplication 2020-11-11 03:31:15 +01:00
themode
6cbe656b15 Added "semi-relative" location argument support 2020-11-11 02:11:28 +01:00
themode
99d27b78c4 Fixed NbtDataImpl not working in creative mode 2020-11-11 00:29:06 +01:00
themode
78bf5dda05 Comments for the relative location arguments 2020-11-10 23:31:35 +01:00
themode
ad357d70fc Added ArgumentRelativeBlockPosition, ArgumentRelativeVec3 and ArgumentRelativeVec2 2020-11-10 23:16:35 +01:00
themode
bbf9f92b52 Added bungee forwarding support 2020-11-10 21:38:08 +01:00
themode
bcee5424dc Fixed copied packets and compression using velocity forwarding 2020-11-10 21:14:24 +01:00
themode
f2e52ff463 Send an EntityMovementPacket every tick if the player did not move since the last one 2020-11-10 18:13:24 +01:00
themode
3ddca82aaa Cleanup 2 2020-11-10 08:01:27 +01:00
themode
68bb479f4a Cleanup 2020-11-10 07:42:11 +01:00
themode
c6c8f6b9d6 Usage comments for VelocityProxy 2020-11-10 00:13:57 +01:00
themode
7db94f3a65 Support for velocity modern forwarding 2020-11-09 23:48:34 +01:00
themode
247a328a09 Annotations for the advancement API 2020-11-09 18:29:30 +01:00
TheMode
826533e5ee Added some dots
Signed-off-by: TheMode <themode@outlook.fr>
2020-11-09 18:08:26 +01:00
themode
e583f21b74 Fixed client crashing when pinging with an older client 2020-11-09 03:21:18 +01:00
themode
f9035bf949 Param comments for NBTUtils#toNBT 2020-11-08 22:40:50 +01:00