Skip to content

v0.4.0

Choose a tag to compare

@github-actions github-actions released this 04 Jul 15:56
· 137 commits to main since this release

Added

  • Concurrent test players (issue #26): JoinPlayer can now be called multiple times on the same
    world, one call per distinct player name, and the joined players coexist and act independently
    (own connection, own inventory). Internally, each player rides its own dummy TCP socket: the
    engine's packet loop iterates whatever socket array is installed, so Atlas grows the array by
    one slot per player instead of multiplexing one slot; the single dummy UDP server the engine
    hard-wires every singleplayer-type client to is shared. Joining twice under the same name still
    throws AtlasSetupException up front - the server would treat the duplicate as the same
    account reconnecting and kick the first player mid-scenario.

Changed

  • Breaking: IWorldSession.ExecuteCommand now returns Task<CommandResult> instead of void
    (issue #25). CommandResult carries Ok, the localization-resolved Message, and the
    engine's raw TextCommandResult as an escape hatch. Commands run as the engine's own console
    caller (admin role, every privilege); deferred (async-parsing) commands are followed to their
    final result; an unknown command completes with Ok = false instead of throwing, so scenarios
    can assert on intentional failures. Scenarios that drove a fixture mod through commands no
    longer need the SaveGame side channel to read outcomes, and a slashless command now throws
    ArgumentException instead of being silently misparsed by the engine's dispatch.