Commit Graph

62 Commits

Author SHA1 Message Date
P0nk
9e3f3cc036 Restructure "net" packages 2021-07-18 14:26:23 +02:00
P0nk
11e83522d6 Log packets in dedicated handlers instead of in encoder/decoder 2021-07-18 14:09:39 +02:00
P0nk
ab03dd3109 Minor cleanup 2021-07-17 11:24:11 +02:00
P0nk
6e6fbf3be7 Consistently use Hwid domain object, fix login bypass
Login bypass (skip pin/pic) was broken due to an
inconsistency in hwid format.
2021-07-15 23:51:01 +02:00
P0nk
cce85ea663 Use Hwid for login bypass 2021-07-15 22:08:19 +02:00
P0nk
81393392ab Clean up Apache Mina, goodbye! 2021-07-13 22:10:01 +02:00
P0nk
94e1125eca Move some remaining bits and pieces to netty implementation, start cleaning up 2021-07-13 21:54:07 +02:00
P0nk
3de827553e Fix idle state disconnecting regardless of received pong 2021-07-12 19:52:55 +02:00
P0nk
5a7d8e6b1f Use MapleClient for session management
First working version of the Netty implementation,
but there's a lot remaining to be done.
2021-07-11 18:56:45 +02:00
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