Graham
65194fae43
Rename poll to removeFirstOrNull
...
This is more consistent with the Kotlin standard library.
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
493886a8bd
Improve error messages in CrossDomainChannelHandler
...
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
a50e0ea998
Restrict supported HTTP methods
...
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
a8d048de00
Remove pipelining support from the crossdomain handler
...
It isn't necessary.
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
86a84c6986
Serve .jar files with the correct MIME type
...
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
89f7a192f9
Optimise inbound message matcher creation
...
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
29693a39cf
Add timeout support for all services on the RS2 port
...
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
a43e98e8f4
Add HTTP keep-alive support
...
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
03fc499566
Improve robustness of reference counting in JaggrabChannelHandler
...
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
620808cb97
Improve the HTTP implementation
...
This commit adds support for:
* Version negotiation.
* HEAD requests.
* Friendly error messages.
* More robust reference counting.
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
92a01b6262
Add cross-domain policy support
...
Required by the most recent versions of the Java plugin (before it was
killed).
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
440711def0
Fix JAGGRAB request parsing
...
The paths aren't prefixed with a slash, unlike HTTP.
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
7e8883b430
Move Store/Js5MasterIndex providers to the game module
...
This prevents the archive module from failing on a machine without the
cache installed (like the archive.openrs2.org server).
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
080677b45c
Name the shutdown hook thread
...
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
43b8be3ff3
Add shutdown hook
...
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
dc4b769f29
Add startup log messages
...
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
fbb9694feb
Close JS5 connection if an invalid file is requested
...
This mimics the behaviour of the OSRS server.
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
bc018a3b0f
Add initial JAGGRAB, JS5 and HTTP servers
...
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
c5bd044574
Add CloseableInjector
...
I'm going to try to minimise use of this (as per
https://github.com/google/guice/wiki/Avoid-Injecting-Closable-Resources ).
For example, I'm going to inject a pooling DataSource rather than
Connection objects, as per the advice at the end of the page. However,
HikariCP's DataSource implementation is itself Closeable.
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
f143eef142
Move Kotlin files from src/{main,test}/java to src/{main,test}/kotlin
...
Signed-off-by: Graham <gpe@openrs2.org>
4 years ago
Graham
ce5b76ef0f
Rename dev.openrs2 package to org.openrs2
...
Signed-off-by: Graham <gpe@openrs2.org>
4 years ago
Graham
232ba32bbd
Enable explicit API mode
...
This already caught some cases of public members that should have been
private and one case where the inferred type was too specific.
Signed-off-by: Graham <gpe@openrs2.dev>
4 years ago
Graham
0c76c610bd
Convert Guice modules to objects
...
Signed-off-by: Graham <gpe@openrs2.dev>
4 years ago
Graham
177326221f
Move cryptographic code to a separate module
...
Signed-off-by: Graham <gpe@openrs2.dev>
4 years ago
Graham
a52d58e8b5
Use Clikt to implement the command-line interface
...
Signed-off-by: Graham <gpe@openrs2.dev>
4 years ago
Graham
65f0cc0f6e
Add GameServer skeleton
4 years ago
Graham
77e8b0cdc0
Use top-level Kotlin main() functions
4 years ago
Graham
136e43ae82
Convert GameServer to Kotlin
4 years ago
Graham
2621e503f2
Add GameServer class
5 years ago