L2J

Configure the L2J connector

Install portal.properties and set runtime and delivery options

config/portal.properties tells the connector where to connect and how this server schedules character actions. It is required. The generated file already contains the correct gateway and server token.

config/portal.properties
Enabled=True
GatewayUrl=wss://wss.forgeport.net/
Token=gps_<game-server-id>.<secret>

#HeartbeatSeconds=15
#DeliveryWindow.DELIVER_ITEM_GRANT=online
#DeliveryWindow.DELIVER_SKILL_GRANT=online
#DeliveryWindow.CHARACTER_SERVICES=online
#DeliveryWindow.UNSTUCK_CHARACTER=offline
#Unstuck.X=82698
#Unstuck.Y=148638
#Unstuck.Z=-3473

Required settings

SettingPurpose
EnabledStarts Forgeport when True
GatewayUrlHosted connection endpoint; keep the generated value
TokenIdentifies and authenticates this game server

Treat Token like a password. Regenerating it in Admin invalidates the old value immediately, so update this file before restarting.

Delivery windows

A delivery window tells Forgeport when your pack-specific code can safely make the actual game change.

ValueMeaning
onlineThe selected character must be in the live world
offlineThe selected character must be logged out
bothThe operation is safe in either state

The complete aCis and Mobius item/skill handlers use live player objects, so their delivery window is online. Unstuck SQL runs against an offline character, so its default is offline.

A wrong window can produce a silent failure

Match each window to what your implementation really does. Forgeport can enforce the selected state, but it cannot know whether a pack API or SQL write is safe while the character is online.

Unstuck coordinates

Unstuck.X, Unstuck.Y, and Unstuck.Z are read by pack-specific unstuck code. The commented values point to Giran. Leave the .unstuck(...) registration out if you do not offer this feature.

Verify

  1. Restart the GameServer.
  2. Confirm Admin → Game Servers shows Connected.
  3. Run Connector check.
  4. If you changed a delivery window, perform one real test in that player state.

See Troubleshooting if the server stays disconnected.

On this page