P0nk
86224f5152
Merge branch 'master' into netty
2021-07-11 15:20:00 +02:00
P0nk
14a405adb2
Consistent handling of wz files and their paths
2021-07-10 17:49:04 +02:00
P0nk
0e98abff41
Minor renaming and refactoring
2021-06-29 20:27:32 +02:00
P0nk
828c3c5345
Add Hwid class for "nibble hwid" part of "remote host"
2021-06-29 20:26:14 +02:00
P0nk
f6aca2018e
Packet sending during Netty migration
2021-06-25 14:43:05 +02:00
P0nk
80cacd609a
Disconnect client if idle
...
Thanks SharpAceX for Guida,
which I used as a reference.
2021-06-24 22:09:21 +02:00
P0nk
5651bee2b5
Move client transition state and hostAddress to fields
2021-06-23 19:03:54 +02:00
P0nk
9638d5c417
Initial Netty implementation for networking
...
Split into 1 LoginServer and 1 ChannelServer per channel.
There is still a lot of cleanup and refactoring to be done.
Currently, the reliance on IoSession holding client state
is the most pressing issue to be addressed.
2021-06-23 18:20:08 +02:00
P0nk
5431150362
Set up packet codec and channel initialization
2021-06-22 20:32:51 +02:00
P0nk
23bad12f8c
Netty WIP
...
Implementing ByteBuf backed In/OutPacket first in a separate branch
2021-06-15 22:12:40 +02:00
P0nk
4dc0935391
Reformat MapleClient
...
Now uses 4 space indentation
2021-06-08 19:32:06 +02:00
P0nk
a18a1cb8ce
Replace NashornScriptEngine with implicit GraalJSScriptEngine
...
GraalJSScriptEngine implements Invocable, which is why casting to it works.
However, this is just a quick and ugly fix to make it compile.
A better solution would be to cast it once, immediately after `eval`,
and from then on only handle it as Invocable.
Scripts still need to be fixed. They are still using Rhino and Nashorn-specific
ways of importing packages.
Usages of "importPackage" and "Packages" need to be replaced with
the Graal specific "Java.type".
2021-04-17 15:12:19 +02:00
P0nk
5a5110d905
Use existing connection for loading new year + family
...
Move async tasks earlier for lower chance of having to wait
2021-04-16 20:41:17 +02:00
P0nk
415376ce08
Load skills async on startup
2021-04-12 21:06:05 +02:00
P0nk
68239bc0b5
Make database operations during startup consistent
...
Use the same Connection. and log things in a similar fashion
2021-04-11 13:52:35 +02:00
ronancpl
d4e4150a6e
cleanup: adjust syntax
2021-04-10 09:43:05 -03:00
ronancpl
7a3d5d2b94
Allow local/LAN/WAN login-phase connections
...
Allow clients connecting from different IP domains (local/LAN/WAN) to get past login phase and clean unnecessary local server check.
2021-04-09 20:54:53 -03:00
P0nk
a5b42b8a43
cleanup: use primitive type instead of wrapper type
2021-04-08 17:49:22 +02:00
P0nk
3434c7334b
cleanup: remove redundant cast
2021-04-08 17:39:55 +02:00
P0nk
ebb3aa7ba3
cleanup: prefer List#sort over Collections#sort
2021-04-08 07:44:02 +02:00
P0nk
5730b3b42d
cleanup: use implicit generic type with diamond operator
2021-04-08 07:42:10 +02:00
P0nk
8aa44711e3
cleanup: use Integer#parseInt where applicable
2021-04-08 07:40:42 +02:00
P0nk
7ff8190977
cleanup: remove unnecessary boxing
2021-04-08 07:39:02 +02:00
P0nk
f37d4063fb
cleanup: remove unnecessary interface modifiers
2021-04-08 07:33:52 +02:00
P0nk
dde52653e5
cleanup: remove unnecessary conversion to String
2021-04-08 07:30:12 +02:00
P0nk
5e3b346053
cleanup: use Java-style array declaration
2021-04-08 07:17:03 +02:00
P0nk
6253169e35
cleanup: replace anonymous inner class with lambda
2021-04-07 23:45:28 +02:00
P0nk
b80d98f36e
Add descriptions to all gm 6 commands
2021-04-06 20:08:57 +02:00
P0nk
3b59f95f20
Add descriptions to all gm 5 commands
2021-04-06 20:05:21 +02:00
P0nk
f25539f389
Add descriptions to all gm 4 commands
2021-04-06 20:04:20 +02:00
P0nk
f9fcc79565
Add descriptions to all gm 3 commands
2021-04-06 20:00:43 +02:00
P0nk
a9b23552b0
Add descriptions to all gm 2 commands
2021-04-06 19:51:20 +02:00
P0nk
3cd23a07e2
Add descriptions to all gm 1 commands
2021-04-06 19:42:38 +02:00
P0nk
70d895fef5
Add descriptions to all gm 0 commands
2021-04-06 19:42:38 +02:00
P0nk
69635f5e6c
refactor: use try-with-resources for db operations in various places
2021-04-05 00:19:59 +02:00
P0nk
4ec4600406
refactor: use try-with-resources for Fredrick db operations
2021-04-05 00:13:32 +02:00
P0nk
80e193398c
refactor: use try-with-resources for ban db operations
2021-04-04 23:59:24 +02:00
P0nk
6b6558af01
refactor: use try-with-resources for perma npc/mob db operations
2021-04-04 23:34:35 +02:00
P0nk
59014b86bf
refactor: use try-with-resources for monster book db operations
2021-04-04 23:26:15 +02:00
P0nk
9d70f4de04
refactor: use try-with-resources for ring db operations
2021-04-04 23:15:52 +02:00
P0nk
5cb69910bd
refactor: use try-with-resources for pet db operations
2021-04-04 22:54:25 +02:00
P0nk
de14c5782d
refactor: use try-with-resources for item saving & loading db operations
2021-04-04 22:28:52 +02:00
P0nk
fc34d54cdd
refactor: use try-with-resources for buddy list db operations
2021-04-04 21:48:52 +02:00
P0nk
8c41f713a6
refactor: use try-with-resources for character saving db operations
2021-04-04 21:29:18 +02:00
P0nk
2b0d918401
refactor: use try-with-resources for new character db operations
2021-04-04 21:29:18 +02:00
P0nk
b56e1d501f
refactor: use try-with-resources for character db operations
...
Covers everything in MapleCharacter except saving a character, and inserting a new character.
This commit got a bit too big...
2021-04-04 21:29:17 +02:00
P0nk
7e206d4589
refactor: use try-with-resources for client db operations
2021-04-04 16:49:01 +02:00
P0nk
0c267f8eee
refactor: use try-with-resources for Duey db operations
2021-04-04 16:12:46 +02:00
P0nk
3ca9311cb0
refactor: use try-with-resources for cash id db operations
2021-04-04 15:21:17 +02:00
P0nk
a36c7c5057
Fix loading pet ignores slowly
...
Explained by me on Discord, 20 February 2020:
"Found a bug that causes characters to load slower based on the number of items in their inventory.
Every item causes a query to be executed in the db. On my local machine,
the specific section of code is now ~40ms faster when loading 1 character full of items.
Here is what I'm referring to:
"AND petid IS NOT NULL"
should be
"AND petid > 0" or something similar
Basically, the petid field is not a boolean. The check will always pass since -1 is not null,
and the number -1 is used to indicate if the item is a pet or not."
2021-04-03 15:52:07 +02:00