Repository navigation
Releases: vladnow/GungeonTogether-LAN
Release list
Gungeon Together LAN 0.4.0 alpha
Gungeon Together LAN 0.4.0 alpha
Changes
- Poll host packets before native input evaluation and send guest controls immediately after native actions update. Button edges bypass the regular send cadence.
- Present a bounded current-frame walking step locally while retaining host authority and wall/pit guards. Pauses, rolls, teleports and blocked input still stop/reset prediction.
- Increase full world updates from 30 Hz to an adaptive 60 Hz, backing off to 30 Hz when capture/encoding/compression or the outgoing queue exceed the budget. Stable 60 Hz streams can use a shorter interpolation buffer; jitter still raises buffering.
- Fix the guest map input reading Pause instead of the configured Map action. Holding/releasing the map action now opens/closes it locally; host-revealed rooms also add the native exits/unknown-room markers without exposing secret rooms.
- Protect remote action bindings when native controllers initialize, reload saved bindings or are reassigned. Reload remains separate from gun cycling and active-item use.
- Deduplicate equivalent sprite/material descriptions rather than allocating network IDs for each temporary outline material. This addresses the recorded 0.3.9 "Too many sprite collections" stop. Native stress coverage recreates 5,000 material instances without adding definitions.
- Replicate the native outline shader's atlas parameters per sprite/frame, including rotated packing and scale, and build outline geometry with the correct flags. This addresses missing outline data; every reported black-halo scene and boss shader is not established by the local probes.
- Add LAN CO-OP to the game's native title and pause menus, including keyboard/controller navigation. Ctrl+P still opens the overlay. Host/join from the title continues through normal character selection; the overlay yields so the player can choose a character, then reconnects automatically.
- Follow the game's English, Spanish, Simplified Chinese or Russian language setting. Unsupported game languages use English. No language selector or separate language setting is added. Technical diagnostics remain English.
- Add three independent host options under RULES: Separate money, Separate keys, and Personal chests and shops. Defaults preserve shared resources and ordinary native loot. Rules are sent to the guest before generation and cannot change during a run.
- Separate money credits native enemy coin drops to the last attacker. Boss-tagged run coins are split equally, alternating odd remainders; other/unattributed coins go to the collector. Permanent Hegemony Credits are unaffected.
- Separate keys retains independent key budgets. Disabling one resource option keeps that resource shared even when the other is separate. Balances persist through native floor changes.
- Personal ordinary chests have independent openings, key payments and random rewards. One player can leave a chest unopened and receive nothing. Rolls may coincide. Ground loot rejects the other player; legitimately held equipment remains visible to the partner and later normal drops can be traded.
- Finite ordinary run shop stock is purchased independently by each player, at the native price. Native purchase/steal callbacks remain in use. Buying one player's stock does not remove the partner's item or price label.
Compatibility and limits
The guest map is view-only: the host performs fast travel. Local client teleport attempts are blocked because they would not move the authoritative players.
Both PCs require this exact 0.4.0 build, matching Steam 2.1.9 files and a clean BepInEx 5 profile. Older LAN peers are rejected. Use separate profiles for competing networking mods.
Personal loot applies to ordinary non-mimic, non-rainbow chests without forced/quest contents and ordinary finite run shop stock. Glitched, rainbow, mirror, truth and Rat chests, mimics, permanent unlock purchases and special quest behavior retain native shared rules. Native persistent shop stock retains its persistence. Personal chest breaking is disabled to protect the overlapping per-player copies. Lock-picking, fuses, transformations, every steal effect, special game modes and arbitrary modded chests/items are not established by this validation.
Boss splitting was checked with native currency pickups carrying synthetic boss attribution and conservation checks; every native boss reward path is not established. Native enemy reward attribution was checked through AIActor coin generation and native pickup.
See VALIDATION-0.4.0.md for exact final-build scenarios. All game probes use isolated copies/profiles, sound disabled, windowed no-activate execution, free cursor and background simulation. Artificial grants, warps and accelerated progression are stated explicitly. Controlled local runs are not proof of natural campaign completion, a Dragon victory, audible sound quality or physical two-PC/Radmin behavior. No public upload or fresh manager import is claimed.
Attribution
Keep the inherited MIT license and NOTICE.md. The native menu entry adapts MIT-licensed Gungeon Online MenuButtons.cs (Copyright 2026 Alexander Vazquez). No game libraries/assets, external test tools or private diagnostic plugins are shipped.
Gungeon Together LAN 0.3.9 alpha
GungeonTogether LAN 0.3.9 alpha
Fix a reproduced fourth-floor generation mismatch: the host rejected Sell Creep without a mastery token, while the client accepted it because its placeholder primary player had been cleared during loading. The layout barrier then correctly stopped the session.
Implemented
- Include the host primary player's run mastery-token count in the generation envelope.
- Evaluate native mastery-gated injection on the generating LAN client against that authoritative count, even while its placeholder controller is absent.
- Preserve other native prerequisites, eligible Sell Creep generation, host behavior, offline behavior and the layout-hash safety check.
- Report actual native input-override keys in DETAILS, using the installed game's override list format. Preserve native input restrictions.
- Retain the 0.3.8 rendering, native HUD/map, shop labels, boss widgets, coordinated ordinary doors, separate cameras, shared cash/ordinary keys and input prediction.
Compatibility
Both PCs must install 0.3.9. Earlier peers have a different protocol. Built against Steam Enter the Gungeon 2.1.9 and BepInExPack EtG 5.4.2101. Use a clean mod-manager profile with one networking mod. Keep older DLL backups outside BepInEx/plugins. No launcher is included.
Checks and limits
See VALIDATION-0.3.9.md for the completed runs and exact runtime hash. Controlled local two-process tests reached the fifth main floor after the fix. The original failing seed and both mastery-gate outcomes were checked.
Tests use separate game copies/profiles with sound disabled, windowed no-activate execution, background simulation and an unconstrained cursor. Artificial warps, invulnerability, accelerated native boss damage and forced progression are explicitly recorded. These checks do not establish a full natural room-by-room campaign, final-boss victory, audible output quality, or physical two-PC/Radmin performance.
Unknown required assets can still stop a session. Every boss projectile/shader, special room/NPC/puzzle, dynamic tile change, particle effect, dual-wield/foldout HUD and rare item combination is not covered. Native cinematic input locks remain. No automatic revival on every floor is added. Guest map teleport selection is not enabled.
Report remaining problems through Discord or GitHub Issues, with both players' logs and the LAN menu DETAILS before restarting. Preparing these archives does not upload or publish them.
Gungeon Together LAN 0.3.7 alpha
Gungeon Together LAN 0.3.7 alpha
- Replace the IMGUI imitation of the guest HUD with the game's actual heart, blank, consumable, gun, active-item and status-bar controllers. Keep the original single-player layout on the guest. Detached inactive UI equipment copies never enter player inventories or run Pickup callbacks.
- Reserve the native controller confirm/interact button for Interact. Network shooting uses RightTrigger, avoiding direct native menu/controller checks that could mistake a shot for interaction.
- Open ordinary unlocked doors when either network player enters. Remove the shared-screen proximity gate and its forced movement of both players. Locked/sealed doors and battle-room regrouping keep native checks.
- Relay nearby native goop cells, definitions and burning/electric/frozen flags. Build local native goop meshes and fire particles without local cell-gameplay callbacks or independent damage/spread simulation. Unsupported assets stop the run with a visible error instead of concealing a hazard.
- Recreate native textboxes and conversation response buttons using the host's actual text. The host still runs dialogue logic; the guest sends their normal interaction/menu actions.
- Relay guest damage to the native damage vignette and hurt sound event. Replicate native sprite override tints for hit/status flashes. No local damage is applied for feedback.
- Update both native placeholder positions/collider caches and room lighting. This addresses stale light/occlusion positions; the exact dark halo reported on a remote PC still needs a remote comparison.
- Smooth small authoritative walking corrections over 60 ms while retaining immediate bounded visual input replay, collision clipping and resets on teleports/room changes. This is not a reduction of physical network ping.
- Forward menu-navigation bindings only while a host dialogue is present. WASD's additional menu-navigation actions, reload and weapon cycling no longer disable walking replay. The earlier synthetic direction-only test did not cover these real keyboard binding combinations.
- Show the native player-two input state in LAN menu DETAILS to help identify any remaining movement locks.
Update both PCs to 0.3.7. Earlier peers are incompatible. Built against Steam Enter the Gungeon 2.1.9 and BepInExPack EtG 5.4.2101. Install through matching clean Thunderstore profiles. No launcher is included.
This is an early-floor alpha. The fourth-floor Sell Creep layout mismatch remains unresolved; full natural campaign completion is not established. The native HUD's current weapon/item display is covered; full inventory foldouts, dual-wield layouts, every item-specific meter, arbitrary dynamic/modded goops, general particle/gas-cloud replication and every NPC/puzzle are not established. A direct ordinary-door restriction was removed; this does not prove that every reported room-transition freeze has the same cause.
See the separate VALIDATION-0.3.7.md for exact checks. Native processes are local, silent, windowed, no-activate and cursor-unconstrained. Sound dispatch is checked without listening. No physical two-PC/Radmin run, fresh manager import or remote publication is claimed. All earlier release directories remain intact.
Gungeon Together LAN 0.3.6 alpha
Gungeon Together LAN 0.3.6 alpha
This update targets missing client secret-room geometry and the guest's empty/incorrect Ammonomicon equipment page.
- Replicate the host's opened native secret rooms, remove the client's local covering meshes/door blockers, update secret-cell visibility/occlusion and reveal the room on the minimap. Closed secrets remain concealed. Client visual application does not trigger independent combat/room-entry events or discovery statistics.
- Replicate the full player-two gun/active/passive/synergy lists when changed. Native Ammonomicon equipment-page readers use these lists and identify the selected guest hero. Reading the page does not grant items, change client placeholder inventories or execute item/stat callbacks.
- Keep native book item icons visible. Suppress guest movement input and speculative walking while the book is open.
- Retain/enforce the native shared coin/key consumables object. Either player collects and spends from one budget; the guest HUD displays that budget. This preserves native shared resources, rather than inventing a second synchronized wallet.
- Preserve native ghost rules: changing floors does not guarantee revival. Boss-reward/chest revival paths remain native. No automatic revival on every floor change is added.
- Keep the faster movement stream/prediction from 0.3.5, custom guest HUD/audio, separate cameras and synchronization checks.
- Keep public source/runtime ZIP documentation English and exclude internal agent instructions, obsolete launcher files and localized documents.
Update both PCs to 0.3.6. Earlier peers are incompatible. Install the matching Thunderstore package into separate clean mod-manager profiles with BepInExPack EtG 5.4.2101. Built against Steam Enter the Gungeon 2.1.9. No launcher is included. Existing release artifacts are kept in their version directories.
See VALIDATION.md for the exact runtime and bounded native scenarios. Tests distinguish ordinary floor loading from a native boss-reward resurrection call; they do not prove a complete natural death/boss/chest cycle. Equipment-page synchronization does not cover collection-unlock history, every death-book field, map/shop/dialogue UI or every special item. Native secret-room managers are covered; arbitrary destructible tilemap changes and every special puzzle are not established.
This remains an early-floor alpha. The fourth-floor Sell Creep layout mismatch remains unresolved; full campaign completion and physical two-PC/Radmin behavior are unverified. All game diagnostics disable audio output and use windowed/no-activate mode. Preparing archives does not publish them.
Gungeon Together LAN 0.3.5 alpha
Gungeon Together LAN 0.3.5 alpha
This update targets the delay felt by the joining player. A compact player-motion stream runs independently from larger world snapshots. The guest can show bounded anticipation of ordinary walking while the host remains responsible for gameplay simulation.
Changes
- Player motion and guest input run at up to 60 Hz; full world snapshots run at up to 30 Hz, subject to frame rate and load.
- Capture follows native physics. Input acknowledgements identify input actually consumed by the native guest controller.
- Visual prediction covers at most 100 ms / 0.65 game units. It moves the guest body, attached hands/gun/outlines and camera together. Local terrain/body queries limit the visual lead.
- Pause, rolls, input overrides, stale motion, room changes and teleports disable/reset speculation. Set
[Network] ClientMovementPrediction = falsein the profile config and restart to retain only the fast authoritative stream. - World interpolation adapts between 35 and 90 ms, starting at 40 ms. The menu shows the current value.
- The guest graphical HUD and combat sound-event relay from 0.3.4 remain included.
- Public source and documentation are English only. Internal AGENTS.md, localized documents and obsolete launcher files are excluded. The GitHub update guide lists old tracked files to delete explicitly.
Installation and compatibility
Update both PCs to the same 0.3.5 build. Older peers are rejected. Use a separate Thunderstore profile with BepInExPack EtG 5.4.2101 and one networking mod. Built against Steam Enter the Gungeon 2.1.9. Import the Thunderstore ZIP locally or update after publication; the source ZIP is for GitHub/development. No launcher is included. Existing LAN saves remain in the separate dungeon-profile directory.
Validation and limits
See VALIDATION.md for exact-runtime checks and local movement measurements. Native checks are silent, windowed, two-process tests on one PC; they do not prove latency over Radmin or a complete natural campaign. Prediction improves visual walking response, not the host-confirmed timing of damage, pickups or every animation/action. TCP stalls and correction snaps remain possible. Higher world frequency may increase total bandwidth; UDP and world delta compression are not included.
The fourth-floor Sell Creep map mismatch remains unresolved and can stop a run. Complete boss/elevator progression, endings, modpacks and all special movement/item combinations remain unverified. Sound event dispatch is tested with output suppressed, not by listening. Creating these files does not publish them.
Gungeon Together LAN 0.3.4 alpha
Gungeon Together LAN 0.3.4 alpha
The joining player previously had only a text status panel and no replicated combat sounds. This update adds a graphical guest HUD and host-to-client combat sound events.
- Show the guest's full/half/empty hearts, armor, blanks, cash and keys using local game UI sprites.
- Show the equipped gun and active-item icons, total ammo, magazine count/capacity, reloading and active-item charge/state. The host remains authoritative; presenting the HUD does not grant items or change health on the client.
- Relay weapon, enemy, object, character/footstep and voice-category sound events using event IDs, source positions and per-source Wwise switch values. Keep each player's volume settings local and suppress duplicate local combat events during mirroring.
- Bound sound batches, queues and source objects; discard old-floor, duplicate and stale batches. Dispose sound sources on transitions, disconnects and session faults. Include audio counters in periodic network diagnostics.
- Preserve separate player cameras and previous enemy-resource/transport fixes. Diagnostic launches now reapply the muted Unity listener every frame; ordinary gameplay audio is unaffected by that diagnostic helper.
Update both PCs to 0.3.4. Its wire protocol cannot connect to 0.3.3 or earlier. Install the Thunderstore ZIP into the mod-manager profile and remove old LAN DLLs from that profile. No launcher package is included. The prepared ZIPs have not been uploaded automatically.
This remains an early-floor alpha. The fourth-floor Sell Creep layout mismatch is unresolved and full campaign completion is not established. The guest HUD is custom and does not reproduce every native inventory/shop/menu screen. Music/ambience, RTPC parameters, all looping-stop/callback variants, modded sound banks and some effects/materials remain incomplete.
See VALIDATION.md for the exact DLL hash and bounded two-process checks. All game tests deliberately disable sound output: interception, transport, weapon switches and dispatch can be verified without claiming that audible balance or every sound bank has been listened to. Real two-PC/Radmin audio and full-run checks remain outstanding.
Gungeon Together LAN 0.3.2 alpha
Merge pull request #2 from vladnow/release-0.3.2 Prepare 0.3.2 LAN alpha
Gungeon Together LAN 0.3.0 alpha
Gungeon Together LAN 0.3.0 alpha
Experimental two-player Enter the Gungeon co-op over LAN / Radmin VPN. Both PCs must update; 0.2.x peers are incompatible.
Known blocker: a fourth-floor layout mismatch can stop the run. This release is for early-floor testing, not a verified full campaign. The fifth floor was not reached in the continued test.
- Smoother foyer avatars and client dungeon sprites/camera with timestamped interpolation; up to 20 world updates per second. The 120 ms display buffer adds latency and does not implement client prediction.
- Choose Cultist, Pilot, Marine, Convict or Hunter for player two before starting a run.
- Redesigned dark/gold co-op menu, entirely in English. Ctrl+P opens it; Esc closes it.
- Deterministic random state for procedural room application; geometry checks remain enabled on every floor. Later-floor synchronization still requires work.
- Separate LAN saves. Normal unlocks and currency are not imported automatically.
Use the Thunderstore ZIP for a mod-manager profile, or the Windows ZIP for the standalone launcher. Remove older LAN DLLs and other GungeonTogether variants from the same plugin profile. Keep backups outside BepInEx/plugins. BepInExPack EtG 5.4.2101 and matching game files are required.
See VALIDATION.md for the exact checks and remaining gaps. This is an alpha: full campaigns, all room interactions, bosses/items/abilities, normal boss/elevator progression, two physical PCs over Radmin and other modpacks remain unverified. Client combat audio and some effects/interactions are incomplete. Active-run reconnection and host migration are not implemented.
Based on GungeonTogether by lam and contributors. Copyright (c) 2025 lam. MIT LICENSE and NOTICE are included. No game or BepInEx binaries/assets are redistributed.
GungeonTogether LAN 0.2.2 Alpha
Experimental two-player LAN co-op fork of GungeonTogether for Enter the Gungeon.
Based on GungeonTogether by lam and contributors:
https://github.com/llamerrr/GungeonTogether
Original copyright: Copyright (c) 2025 lam.
The original MIT license and attribution are preserved.
Version 0.2.2 supports installation in a dedicated mod-manager profile, Host/Join by IPv4 and separate LAN saves. Both players must use the same version.
Validation includes 69 automated checks and two local two-process dungeon smoke runs. Two physical PCs over Radmin VPN, complete campaigns and broad mod compatibility remain unverified. Known limitations are documented in the README.
Developed with AI assistance. This is an unofficial, experimental mod.