Publishes the completed four-client verification fixtures and results, corrects fixture timing for uncapped native clients, and refreshes release metadata. Runtime networking and the wire protocol are unchanged. All companion mods remain optional. See four-client evidence and limits.
Protocol-2 multi-player LAN/direct-IP rooms and a standalone dedicated server are implemented. See dedicated server setup and verification scope. Older two-player/relay descriptions below describe the previous protocol and are not the new room contract.
Open ONLINE from the pause menu. The host selects HOST LOCAL; the other player selects JOIN and chooses the automatically discovered trainer. Both players must use the same game edition and compatible mod versions. Full rooms disappear from discovery; entries expire when their host stops responding.
For a port-forwarded internet game, the host also selects HOST LOCAL, then forwards UDP 7777 to the host computer (or the configured game port). The guest chooses JOIN → DIRECT ADDRESS and enters the host’s public IP or hostname, optionally followed by :port. Discovery uses UDP 7776 on the local network; do not forward that discovery port. Local firewall rules and router client isolation may prevent discovery; Direct Address also accepts a local IP. Existing online relay-room options remain available.
Corrects the battle setup mode encoding for the 0.3.51 wire schema. Two Emerald clients reached native single/double command phases and trade party selection, then restored HP/PP on disconnect; full battle outcomes and trade completion were not tested.
Use named native party save/heal/restore operations for Emerald and FRLG link battles; preserve the safe legacy FRLG fallback. Chat bubbles resolve the shared Gen3 camera export.
Tested against official Gen1Recomp 0.3.51. Existing games retain their native data and defaults. See Battle Art’s Emerald QA record for the exact integration coverage and remaining gaps.
Includes optional cross-generation riding and host-owned ground/sky encounter synchronization, chat, trading and single/double battle integration. Multiplayer move/disconnect edge cases still need wider coverage.
Numbered release of the tested 0.8.0-test.2 build. Runtime and assets are unchanged except version metadata; packaging and cart pins are refreshed. Validation from the prior exact releases remains applicable: official Gen1Recomp 0.3.1, isolated profiles, targeted native rendering/integration checks. This release does not claim complete cross-generation feature or visual parity.
Current release: 0.11.1. Protocol-2 rooms support up to 128 participants, overworld presence, chat, trading and native singles across Gen 1/2/3. The capacity limit has transport-level coverage; it is not a claim of 128 simultaneous native renderers. Optional Double Battles enables doubles; Dramatic Ride, Wilds and Wild Skies integrate when installed without becoming dependencies.
The host controls visible ground and sky populations. Ground captures require host approval. Sky birds remain reserved until battle results determine whether to consume or restore them. Both peers must use the same game and compatible versions. See the changelog and cross-generation validation for limits.
The historical Crystal service described below is separate from these cross-generation rooms.
Gen1Online+ brings a complete real-time multiplayer co-op experience with true-color overworld follower sprites, real-time authoritative server clock, and a 24/7 Global Trade Station (GTS) to Pokémon Crystal.
- Seamless Overworld Co-op: Live player movement synchronization across Johto and Kanto with zero stutter or lag.
- Player Customization: Walkable character avatars (
RED,BLUE,LEAF,PROF. OAK,COOLTRAINER,TEAM ROCKET, and various trainer classes). - Dedicated Dual-Save Architecture: Online progress writes strictly to
save_online_crystal.lua, preserving offlinesave_crystal.luafiles untouched.
- Synchronized Real-Time Clock: Server broadcasts canonical time, minute, second, and day-of-week on every sync heartbeat.
- Unified Day/Night Cycles: Ensures all players in the world experience synchronized morning, day, night lighting and encounter tables. Manual clock manipulation is locked out for fair gameplay.
- Host-owned room spawns: The optional Wilds of Kanto mod produces visible Pokémon; the room host controls their identities, wandering and encounter grants.
- Facing Encounters: Walk up to wild Pokémon in the field and press
Ato trigger authentic battle transitions with cries and shiny chances.
- Authentic Gen 3 Follower Sprites: True-color overworld follower sprites for all Generation 1 & 2 Pokémon.
- Dynamic Directional Walking: Followers mirror the player's movements with full 4-direction animations.
- Real-Time Live Notifications: Receive popup alerts when other trainers send messages in the world.
- Dedicated PokéGear Chat Tab: Full scrollable chat history built directly into the player's PokéGear with unread badges.
- Persistent GTS Network: Deposit and search for Pokémon listings asynchronously.
- Overworld Direct PVP Battles & Trades: Walk up to any trainer in the world, face them, and press
Ato challenge or trade.
- Party System (Up to 4 Players): Invite nearby trainers, view live teammate locations and levels.
- Shared Experience: Gain co-op bonus experience points when teammates defeat Pokémon in battle.
The mod supports loading true-color overworld follower sprite sheets directly from a local clone of the pokeemerald-expansion or pokeemerald decompilation repository.
-
Locate Your Local Decompilation Folder: Find your local checkout of the decompilation repository (e.g.
pokeemerald-expansion/graphics/pokemon/). -
Source Sprite Sheets: Follower sprite assets are located within each species subfolder:
graphics/pokemon/<species_name>/ ├── walking.png (or follower.png / overworld.png) └── palette.pal -
Place Assets in the Mod Directory: Copy the extracted 32x32 / 16x16 4-directional walking sprite sheets into:
pokemon-gen1-recomp/mods/gen1online-plus/assets/followers/Name each sprite file by species name or national Pokédex index (e.g.,
025_pikachu.png,151_mew.png,249_lugia.png). -
Auto-Detection: When launching the game,
Gen1Online+automatically mounts and renders true-color sprite sheets for both player followers and overworld roaming wild Pokémon.
-
Server Location: The server backend resides in
server/gen1online/gts_server.pyoutside of the client mod archive to keep security keys and private databases protected. -
Configure Admin Key: Create
server/gen1online/server_secrets.json:{ "adminKey": "YOUR_SECURE_RANDOM_KEY" } -
Start the Server:
cd server/gen1online python gts_server.py -
Expose with Cloudflare Tunnel (Optional):
cloudflared tunnel --url http://127.0.0.1:7779
- Project Lead & Core Direction: Brookes
- Original Mod Creator: Gamecorner33
- Engine, Netcode, RTC Sync & Cart Architecture: Antigravity
- Platform & Recompilation Engine: bryanthaboi and the Gen 1 Recomp Team (bryanthaboi/gen1recomp)
- Decompilation Assets & Sprite Data: pret / The pokeemerald & pokeemerald-expansion decompilation projects (rh-hideout/pokeemerald-expansion)
- MMO Architecture Foundation: alamops (alamops/RBYMMOMod)
- PotatoVoxel 3D Diorama Bridge: ShaneMcGovernIE (ShaneMcGovernIE/potato_voxel)
- PokéGear Cards Expansion: 1Jamie (1Jamie/pokegear_cards)
PVP battles already run on the engine's own Gen 2 battle sim
(src/battle/gen2/Battle.lua via pvp/engine.lua). The companion fork
double-battles-gen2
provides the 2v2 layer over that same sim (lib/doubles2.lua: two actives
a side, four-actor speed ordering, per-slot targeting, faint collapse).
Wiring PVP to 2v2 means: both clients field two actives, the lockstep
protocol carries per-slot actions and targets, and the party payload
grows to four — a protocol change that requires both sides on this build,
which the sealed-cart scoping in this same fork already guarantees (same
cart, same room, same build). Planned for the next fork release.