BigWalk Public Lobbies
Browse modded rooms with a ticket-stub card that labels the room code and the password, and get the vanilla password prompt filled in for you. Password publishing is now opt-in, in-game sync, my-language filter, 15-language UI.
By khalil2
| Last updated | 8 hours ago |
| Total downloads | 16 |
| Total rating | 0 |
| Categories | Mods Misc |
| Dependency string | khalil2-BigWalk_Public_Lobbies-1.6.0 |
| Dependants | 0 other packages depend on this package |
This mod requires the following mods to function
BepInEx-BepInExPack_IL2CPP
BepInEx pack for IL2CPP x64 Unity games. Preconfigured and ready to use.
Preferred version: 6.0.755README
Big Walk Public Lobbies
Browse rooms hosted by players who enabled the room tag and join them in one click — the room code and password are labelled right on the card, and the password is typed into the vanilla password prompt for you (you still press the original confirm button).
The game forces a password on every new room, which made plain public-room lists useless (you could see rooms but never join them). This mod pivots around that: hosts who opt in publish their room as a modded room (bwpl_open="1") together with its password as a public lobby attribute, and the browser lists exactly those rooms. Joining goes through the original in-game flow (JoinMenu.ConnectTo), including the original password prompt and error menus — vanilla password authentication is never bypassed.
Features
- Ticket-stub cards with labels: the left half of a card is identity (world name / host · players), the right half is credentials — a small grey caption column (
Room code/Password) next to the value: the 6-character room code in a framed stub box, the password with its three states (value /(none)/unavailable). The selected row gets a blue bar, a darker card, an inked stub frame and an inline Join button. - Clean loading & empty states: while searching, the list area is blank with a centred "Searching…" indicator (no fake cards), and when the list is empty only one message is shown (no contradictory hints).
- Rooms with the password shown: every refresh is a fresh snapshot of a single targeted EOS search for
bwpl_open="1"rooms (up to 200 per round — more than the entire tagged community). Rooms from older mod versions (tagged before password publishing) or with passwords longer than 64 bytes showunavailableinstead of a truncated password. - Automatic publishing: the
[Mod] EnableRoomTagsetting defaults totrue— a room hosted by a mod user is discoverable by other mod users. Turn off the Room tag switch on the Host page (or set the config tofalse) and nothing is published. Changing your password in-game syncs the list automatically; clearing it removes the attribute so an old password never lingers. - The password is public data by design (that is the feature): anyone who can find the lobby can read it. Joining still goes through the vanilla password authentication.
- Password typed in for you: when the server asks for a password, the vanilla prompt opens pre-filled with that room's published password — the mod only fills the field, never submits. It is armed for one prompt only, expires after 30 s (and is actively cleared from memory at expiry), and is discarded if the room you are connecting to is not the one you clicked. Toggle with
[Join] AutoFillPassword. - Join like vanilla: original "Connecting…" screen, original password prompt, original error menu on failure. If the original menu cannot be found, the mod falls back to a direct connect and says so on the panel (that path has no error UI).
- Already in a session? Joining from the panel while you are hosting/connected is refused with a clear message instead of silently failing (a second connect would swap the multiplex transport under the running server).
- EOS handle handling: the game's own search implementation never releases its EOS handles. This mod releases every
LobbyDetailshandle as soon as a round's results are consumed, takes ownership of the game's result table (clearing it immediately, so nothing can be released twice), recycles results that arrive after a batch gave up, and fires exactly one search per refresh. The singleLobbySearchhandle the game creates internally per call is not reachable from the mod, so each refresh leaks one — see Known limitations. - "My language only" filter: rooms whose world/host name is in your language (Chinese / Japanese / Korean / Russian by script, Latin-family languages together), following the game language live.
- Live player counts (
3/8) on every card; full rooms are hidden automatically. - Virtualized, stutter-free list: only ~15 card slots exist regardless of result count (pre-warmed during the scan so the first list frame allocates nothing); room-name glyphs are pre-baked during the scan so scrolling never bakes glyphs on the fly.
- 15-language UI following the game's language, switching live.
- Startup dependency sentinel: the mod resolves every game-side member it depends on at startup and prints one line — so a future game update that removes them is visible immediately instead of silently breaking search.
Install
- Install BepInEx 6 (IL2CPP) into the game folder (this build was developed/verified with BepInEx
6.0.0-be.788). - Drop
BepInEx/plugins/BigWalkPublicLobbies/BigWalkPublicLobbies.dllinto the game folder (or just merge theBepInExfolder from this package). - Start the game: a Public Lobbies button appears on the main menu.
Usage
- Hosting: on the Host page (selection and confirmation screens) there is a Room tag switch, on by default — it publishes your room (tag + current password) so other mod users can see and join it; passwords changed in-game sync automatically. Turn it off and nothing is published (attributes already published to the current room are not removed retroactively — they disappear when the room is recreated).
- Joining: click Public Lobbies → pick a room (click the card, or use the inline Join on the selected row) → press Join Room. If the server asks for a password, the vanilla prompt is pre-filled; you confirm with the original button. ESC or Back returns to the main menu.
- Filtering: the search box matches world/host names; the language switch filters by your language group; full rooms are hidden.
Config
BepInEx/config/com.bigwalk.publiclobbies.cfg (all settings are hot-reloadable):
[Search] TaggedRounds = 1— targeted search rounds per refresh (0disables searching entirely)[Mod] EnableRoomTag = true— publish your room (tag + password) when hosting; on by default[Join] AutoFillPassword = true— pre-fill the vanilla password prompt when joining a listed room (fills only, never submits)[Dev] DevMode = false— developer mode (F5 opens/closes the panel in any scene)[Debug] Verbose = false— verbose diagnostics (never contains password values)
Privacy
- With the room tag on (the default), the published password is a public EOS lobby attribute: any client that can find the room can read it — that is exactly how the feature works. Turn the Room tag switch off (or set the config to false) if you do not want that. Do not reuse a password you use elsewhere.
- The mod never writes password values to any log, never submits a password automatically, and never modifies the game's authentication (
HouseAuthenticatorstill compares the password literally).
Normal startup warnings (not bugs)
[Warning: Unity] Unable to load font face for [] font asset.(up to 10 lines): TMP noise from the mod creating 10 dynamic fallback fonts for emoji/rare scripts. When such a font asset is created, TMP first tries to load the face from its embedded font data — system fonts have none, so one line is printed per font. The glyphs are then baked on demand from the system font file (the[UI] 兜底字体字形预加载完成line that follows is the real result), so this is creation-time noise, not a failure, and cannot be avoided for system fonts.LogEOSConnect(Error): DeviceId access credentials already exist,[EOS] Failure to delete EOS lobby member : NotFound,Unable to load font facefrom the game's own fonts: game/EOS output.- The
[依赖自检] / dependency self-checkline is the mod's sentinel; it turns into an Error line if a future game update removes something we depend on.
Known limitations
- Rooms tagged by mod versions before 1.5.0 have no password attribute → they are listed but show
unavailable. - Passwords longer than 64 UTF-8 bytes are never published (a truncated password would make joiners type the wrong thing); such rooms also show
unavailable. - EOS returns at most 200 results per search and has no paging: if more than 200 tagged rooms exist, only the first 200 (deterministic order) are shown. If the parameter self-check ever fails, the search degrades to no server-side filter and tagged rooms could be pushed out of those 200 — the log says so explicitly.
- Coloured emoji are rendered monochrome by TMP; scripts with no system font coverage on Windows may still show as boxes.
- Very long room names are ellipsized on the card and in the status line; the card's password column is 130 px wide, so a password longer than roughly 18–20 characters is ellipsized there too (auto-fill still uses the full value, so there is no need to read it).
- Each refresh leaks one EOS search handle: the game's
FindLobbiescreates aLobbySearchinternally and never releases it, and that handle is not reachable from the mod (implementing its own search would mean constructing an IL2CPP delegate, which crashed in early 1.6.0 testing). It is the same pattern the game itself uses, and far below the dozens-per-refresh leak that used to break every search — if a very long session ever stops finding rooms, restart the game. - On ultra-wide (21:9 and above) displays the header band gets vertically tighter because the CanvasScaler matches width.
- Not verified: joining someone else's modded room (needs a second mod user online) — and therefore the password pre-fill and the in-game password sync on a real remote room.