A hosted L2J web panel with in-game delivery.
Connect an L2J server to a hosted donation store, player portal and website. Delivery runs through a connector core that lives inside your game server process and a GameBridge you implement and compile yourself.
The exact architecture, stated plainly.
Forgeport provides the connector core JAR and its small JSON dependency. The core opens one outbound WSS connection, authenticates, heartbeats and carries protocol messages. It has no other dependency, needs Java 17 or newer, and never touches your database: every game operation goes through the GameBridge interface, which you implement against your exact source revision. The owner, not Forgeport, owns the bridge: database queries, live-world operations, password verification, persistence and grant idempotency are your code.
Forgeport enables a portal feature only when your bridge advertises the matching capability. A bridge can start with server status and character lists and grow into delivery, catalog search, account creation and character services at your pace. The full list is in the capabilities reference.
What a useful bridge implements.
From the connector documentation, these are the functions the portal can use.
Credential verification
Game-account password checks in your pack's own format, so players can link accounts.
Characters and rankings
Character lists per account, plus PvP, PK and level boards for the website.
Item and skill delivery
Grants applied to the live player object, with the replay-safe journal shown in the examples.
Status and online count
Server status and live player counts for the site and the console.
Catalog search
Item and skill search so the store picker shows real names from your data.
Optional services
Account creation, rename, gender change and unstuck, each advertised only if you implement it.
Two complete examples, not universal adapters.
Forgeport does not ship a plug-and-play aCis or Mobius adapter. It publishes two complete, working bridges to adapt to your revision.
aCis 409 · Interlude
The aCis example bridge
A composition class and its helpers, printed in full: the journal, the grant paths and the SQL. Start here when your pack uses aCis package names, bcrypt credentials and aCis world APIs.
Read the aCis 409 exampleMobius CT_2.6 · High Five
The Mobius example bridge
The same integration against a Mobius High Five baseline. Start here for Mobius package names, SHA-1 credentials and Mobius world APIs.
Read the Mobius CT_2.6 High Five exampleChronicle names alone do not prove compatibility. Verify the password format, columns and APIs in your exact revision, or start from the custom bridge template. Both examples are MIT-licensed in forgeport-examples on GitHub.
Delivery that survives the real world.
Installation, end to end.
- Add the game server in the consoleAdmin, Game Servers, add server. Pick L2J as the family.
- Download the connector coreThe core JAR and minimal-json onto the server's classpath. Java 17 or newer.
- Implement or adapt your bridgeStart from the aCis or Mobius example, or the custom bridge template.
- Configure portal.propertiesDownload it from the console into your config directory. The token identifies and authenticates the server.
- Build and startStart the connector with your bridge and add a shutdown call.
- Run the connector checkThe console confirms the connection and exercises the advertised capabilities.
- Verify in the game clientBuy a test item and watch it arrive. Until you have, treat a capability as unconfirmed.
You compile the code that touches your world.
The only Forgeport code inside your game server is the small, pack-agnostic connector core, which speaks the protocol and touches nothing else. Every game operation runs through the GameBridge you implement and compile, the examples and the connector contract are public documentation, and the store, payments and website stay hosted so you maintain none of that.