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>
4 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>
4 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>
4 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>
4 years ago
Graham
080677b45c
Name the shutdown hook thread
...
Signed-off-by: Graham <gpe@openrs2.org>
4 years ago
Graham
43b8be3ff3
Add shutdown hook
...
Signed-off-by: Graham <gpe@openrs2.org>
4 years ago
Graham
dc4b769f29
Add startup log messages
...
Signed-off-by: Graham <gpe@openrs2.org>
4 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>
4 years ago
Graham
bc018a3b0f
Add initial JAGGRAB, JS5 and HTTP servers
...
Signed-off-by: Graham <gpe@openrs2.org>
4 years ago
Graham
9e8d1fca1c
Use type-safe project accessors
...
Signed-off-by: Graham <gpe@openrs2.org>
4 years ago
Graham
6498d39306
Add Gradle 7 version catalog
...
Signed-off-by: Graham <gpe@openrs2.org>
4 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>
4 years ago
Graham
a8c1ecb429
Remove use of deprecated mainClassName property where possible
...
We can't remove it from all/build.gradle.kts yet, as the shadow plugin
still tries to read it.
Signed-off-by: Graham <gpe@openrs2.org>
4 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
3ee8005ab7
Update clikt
...
Signed-off-by: Graham <gpe@openrs2.dev>
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>
5 years ago
Graham
177326221f
Move cryptographic code to a separate module
...
Signed-off-by: Graham <gpe@openrs2.dev>
5 years ago
Graham
a52d58e8b5
Use Clikt to implement the command-line interface
...
Signed-off-by: Graham <gpe@openrs2.dev>
5 years ago
Graham
54aec42f90
Format .kts files
5 years ago
Graham
ccbbf873af
Switch from Maven to Gradle
5 years ago
Graham
65f0cc0f6e
Add GameServer skeleton
5 years ago
Graham
77e8b0cdc0
Use top-level Kotlin main() functions
5 years ago
Graham
136e43ae82
Convert GameServer to Kotlin
5 years ago
Graham
ae2e2a0d9d
Add common dependency to deob-ast and game
5 years ago
Graham
b32c691148
Remove Project Quasar dependency
...
Kotlin has native coroutine support, so it is no longer required.
5 years ago
Graham
2621e503f2
Add GameServer class
5 years ago
Graham
8ecbe7bb82
Remove unused openrs2.root property
5 years ago
Graham
003b7ecfef
Improve <description> wrapping
5 years ago
Graham
405c33c1a1
Format *.xml files with IDEA's code style
5 years ago
Graham
eec8990481
Add description to all modules
5 years ago
Graham
d293176959
Replace maven.multiModuleProjectDirectory with openrs2.root
...
openrs2.root works correctly even if the root of the reactor is a child
project, at the expense of having to re-define the property in each
module.
5 years ago
Graham
ec823d8c44
Add Quasar to a new game server module
5 years ago