A competitive Factorio prototype with fixed finite resources, symmetric arena generation, central spectator and penalty islands, multiplayer North/South team selection, dedicated-server-safe player handling, deterministic spawning, shared team research, resource depletion tracking, pollution-driven enemy waves, and admin/player timeout moderation. Battle Credits economy with configurable scoring, live North/South scoreboard, and a player-voted victory target.
Scenarios, maps, and puzzles.
## Version: 0.1.163 ### Changes - Added enemy-territory intrusion warnings around the central battlefield. - Players can move through the central battlefield freely, but crossing into the opposing home territory triggers a warning. - After 10 seconds in enemy territory, the defending team receives an intruder alert with a GPS location. - Deeper incursions and approaches to the enemy War Market trigger stronger team alerts. - Leaving enemy territory clears the intrusion state and notifies the relevant players. - Updated ABOUT / HOW TO PLAY and package metadata. ## Version: 0.1.162 ### Changes - Added the War Market INTELLIGENCE tab. - Players can spend 50 Personal Credits to reveal the opposing main base area for 10 seconds. - Intelligence missions have a 60-second personal cooldown and a maximum of 5 uses per match. - Closing an intelligence report early does not reset the use count or cooldown. - The intelligence view is player-only and uses the enemy force's chart without changing NORTH/SOUTH team membership or research. - Updated ABOUT / HOW TO PLAY and package metadata. ## Version: 0.1.161 - NORTH and SOUTH now maintain explicitly isolated research ledgers. - Research unlocked by one side is not available to the other side. - Team changes enforce the correct side-specific research state. - Upgrade migration clears legacy research leakage when only one side has earned research in the current match. ## Version: 0.1.160 ### Changes - Pollution-driven automatic biter waves now target the opposing physical Biter War Market directly when it is available, instead of attacking only an area near the base spawn. - If the opposing War Market is temporarily unavailable, automatic waves fall back to the existing team target position so pollution pressure still functions. ## Version: 0.1.159 ### Changes - Removed the duplicate FBB research-completion chat line. - Factorio's native research message remains the only research-completion chat line. - Research Battle Credit awards now appear in the team Credit HUD instead, so the team still sees the +Credits award without duplicate completion text. ## Version: 0.1.158 ### Changes - Personal Credit HUD gain notifications now explain what earned the Credits, for example `+5 PERSONAL CREDITS — Crafted stone furnace`. - Credit gain messages remain compact and wrap within the HUD notification area for longer reasons. ## Version: 0.1.157 ### Changes - Added a persistent PERSONAL: Credits balance display to the top HUD so players can monitor Personal Credits without opening the FBB MENU. - The top display updates with the player's current Personal Credits and links naturally to War Market spending and team deposits. ## Version: 0.1.156 ### Changes - Unclaimed EAST/WEST outposts are open building land for players on their own team. - Once an outpost is claimed, only the Outpost Lead and accepted members can place builds, mark structures for deconstruction, or mark upgrades inside that outpost. - Opposing-team players cannot build inside another team's outpost. - Existing structures are preserved when an outpost is claimed. - Updated ABOUT / HOW TO PLAY and README documentation for outpost build permissions. ## Version: 0.1.155 - Added admin-controlled blueprint trust. - The Blueprint Library and blueprint books are disabled for all players. - Trusted players may use live blueprint copy/paste of structures they have built in the current match. - Added BLUEPRINT ACCESS controls to the ADMIN tab using the existing player selector. Version: 0.1.154 - Fixed accepted SPECIAL RESOURCE BONUS deposits always using the iron-ore default instead of the randomly selected resource.
Version: 0.1.153
Date: 2026-10-01
Changes:
- Fixed main-arena controller-change handling so opening/closing Factorio map view no longer teleports active players back to their team spawn.
- Explicit join, respawn, and team-assignment spawn handling remains intact.
Version: 0.1.152
Date: 2026-10-01
Changes:
- Added a SPECIAL RESOURCE BONUS decision to the 45-second ARENA SETUP phase.
- Each arena randomly selects IRON, COPPER, COAL or STONE as the possible bonus resource.
- Players can vote ACCEPT BONUS or NO BONUS; the bonus is accepted only when YES votes are greater than NO votes.
- A tie or no votes rejects the bonus, so a 1-1 vote is a clear NO.
- Accepted bonuses add one large, high-density resource deposit mirrored equally for NORTH and SOUTH.
- The bonus is previewed in the ARENA SETUP menu and does not consume any of the three arena-change chances.
- The special bonus is regenerated with each changed arena, so players can review a new bonus resource after each arena change.
- Updated ABOUT / HOW TO PLAY to explain the special resource bonus decision.
Version: 0.1.151
Date: 2026-10-01
Changes:
- Raised the minimum starting iron and copper supply to 1.40M each while keeping random high/low variation up to 1.89M.
- Raised the minimum starting coal and stone supply to 1.20M each while keeping random variation up to 1.80M.
- Preserved randomized patch size, shape and density so every new arena still feels different.
- NORTH and SOUTH remain perfectly mirrored and oil/uranium remain fixed.
- Main starting-resource randomness now has a protected floor suitable for large factory builds.
Version: 0.1.150
Date: 2026-10-01
Changes:
- Added a 45-second pre-match ARENA SETUP decision before the 90-second game-length vote.
- Players on NORTH/SOUTH can vote KEEP THIS ARENA or CHANGE ARENA.
- Arena changes are limited to 3 per match; a majority CHANGE generates a fresh resource layout, while a tie or no votes keeps the current arena.
- Main starting iron, copper, coal and stone now vary in amount, patch size, shape and density each new arena while remaining perfectly mirrored between NORTH and SOUTH.
- Oil and uranium remain fixed, and outpost/central resource layout rules remain unchanged.
- Main BATTLE screen and top MENU now show the active arena decision and remaining time.
- ABOUT / HOW TO PLAY updated with the new arena review system and randomized resource rules.
Version: 0.1.149
Date: 2026-10-01
Changes:
- Tightened the War Market equipment panel width so all three columns fit cleanly inside the inner frame.
- Added a bounded equipment scroll area so the Market footer remains visible at normal Factorio UI scale.
- Preserved equipment stock, purchase limits, research locks, Personal Credits and construction bot packages.
Version: 0.1.148
Date: 2026-10-01
Changes:
- Compact three-column War Market equipment layout for normal Factorio UI scale.
- Shortened equipment cost/status text and reduced card/control widths.
Version: 0.1.147
Date: 2026-10-01
- Fixed War Market Equipment layout so all three equipment columns fit fully inside the Market window.
- Reduced per-item card width and button width while preserving stock, limits, research gates, and construction bots.
Version: 0.1.145
Date: 2026-10-01
- War Market equipment tab now uses a 3-column grid to keep the equipment shop compact and reduce vertical scrolling.
- Preserved existing team stock, personal purchase limits, research gates, and construction bot package.
Version: 0.1.144
Date: 2026-10-01
Changes:
- Added CONSTRUCTION BOTS x10 to the War Market Equipment tab.
- Construction bot packages cost 500 Personal Credits and require Construction robotics research.
- Added a shared team stock of 200 construction robots and a per-player match limit of 50 robots.
- Equipment purchase handling now supports multi-unit bundles while preserving existing single-item offers.
- Equipment stock and Personal Credit limits continue to reset with the next Arena Reset.
Version: 0.1.143
Date: 2026-10-01
War Market equipment stock display and finite team stock:
- Equipment shop now shows shared team stock remaining and total stock per item.
- Purchase limits remain visible separately as YOUR LIMIT.
- Equipment stock is shared by the team, decremented on successful purchase, and reset by Arena Reset.
- Sold-out equipment is disabled and clearly labelled.
- No refund behaviour remains unchanged.
Version: 0.1.142
Date: 2026-10-01
Changes:
- War Market now opens only from an explicit left-click on the physical Market; hovering/selecting it no longer opens the shop.
- Market header now uses the standard Factorio close X button.
- Added defensive restoration for team players accidentally left in the internal FBB Spectator permission group, preserving normal inventory access.
Version: 0.1.141
Date: 2026-10-01
Changes:
- War Market now behaves as a proper opened Factorio GUI, allowing normal character/inventory GUI interaction.
- Market no longer closes merely because the world selection changes.
- Market close handling now clears player.opened safely.
Version: 0.1.140
Date: 2026-10-01
Changes:
- Housekeeping release: aligned all current build/version displays and source headers to v0.1.140.
- Confirmed ABOUT / HOW TO PLAY content reflects the current major gameplay systems through the War Market, outposts, post-match cool-off, admin testing and current arena layout.
Version: 0.1.139
Date: 2026-10-01
Changes:
- Tidied ADMIN credit and wave-testing controls so grant buttons fit cleanly within their rows.
- Shortened admin-only button captions where the surrounding label already identifies the action.
- Tightened wave-test dropdown/button widths and shop test package buttons for a cleaner Factorio-style layout.
Version: 0.1.138
Date: 2026-10-01
Bugfixes:
- Fixed the Biter War Market GUI immediately opening and closing when the selected market cleared after the GUI opened.
- War Market now remains open until the player explicitly closes it or closes the GUI.
Version: 0.1.137
Date: 2026-10-01
Changes:
- Fixed the War Market equipment GUI crash caused by the removed Factorio 2.0 `game.item_prototypes` API.
- War Market item availability now uses `prototypes.item`, compatible with the Factorio 2.x runtime API.
Version: 0.1.136
Date: 2026-10-01
Changes:
- Fixed server startup failure caused by Lua exceeding the 200-local-variable limit in control.lua.
- Refactored internal FBB helper functions so the main control chunk stays below Factorio's local-variable limit without changing their gameplay behaviour.
Version: 0.1.135
Date: 2026-10-01
Changes:
- Added ADMIN → CREDIT TESTING controls.
- Admins can add 1,000 / 5,000 / 10,000 spendable Team Battle Credits to NORTH or SOUTH without increasing earned-Credit statistics or triggering victory.
- Admins can add 1,000 / 5,000 / 10,000 Personal Credits to themselves for testing War Market equipment purchases.
Version: 0.1.134
Date: 2026-10-01
Changes:
- Added a 3-minute automatic post-match cool-off when a team reaches the selected Battle Credit victory target.
- Match-specific Battle Credit earning, automatic pollution waves and Market purchases stop when the match ends.
- Added a post-match Battle tab summary with final scores, earned Credits, combat/build activity and wave statistics.
- Players remain on the battlefield during the main cool-off, then return to the spectator lobby for the final 30 seconds before the next arena is generated.
- The next arena is generated automatically after the cool-off, resets native map playtime and starts a fresh 90-second game-length vote.
- Added ADMIN controls to end the post-match cool-off immediately or extend it by 60 seconds.
- Prevented new team joins while a match is in the post-match state.
- Updated ABOUT / HOW TO PLAY to explain the new post-match match cycle.
Version: 0.1.133
Date: 2026-10-01
Changes:
- Expanded the in-game ABOUT / HOW TO PLAY guide to document current FBB systems, including the 90-second game-length vote, randomized finite resources, War Market attacks and equipment, Personal Credit deposits, EAST/WEST outposts, SPECTATE / AFK, admin testing tools and Arena Reset behaviour.
- Kept the ABOUT content wrapped to the existing Factorio-style narrow layout.
Version: 0.1.132
Date: 2026-10-01
Changes:
- Added a physical War Market shop GUI for NORTH and SOUTH.
- Added limited team Battle Credit attack stock per match for the five Biter Attack Shop packages.
- Added a limited Personal Credit equipment shop with research-gated Modular Armor, Power Armor, Power Armor MK2 and selected equipment modules.
- Equipment purchases are limited per player per match; team attack stock resets with Arena Reset.
- War Market purchases open by selecting the physical War Market entity.
- Corrected Biter Attack Shop waves to issue their attack command directly against the target War Market.
Version: 0.1.131
Date: 2026-10-01
Changes:
- Added a fixed Biter War Market behind each NORTH and SOUTH main factory.
- Biter Attack Shop waves now enter from the attacking side of the battlefield and are commanded to attack the opposing War Market directly.
- War Markets are high-priority military targets for enemy units.
- Destroyed War Markets automatically rebuild after 60 seconds.
- Attack Shop shows the opposing War Market online/offline status.
- Admin free shop-wave tests now target the opposing War Market.
- Updated ABOUT guide and current version metadata to 0.1.131.
Version: 0.1.130
Date: 2026-10-01
Changes:
- Fixed ADMIN biter-wave testing row labels so Target, Wave, and Shop target remain single-line and no longer stack vertically or get covered by buttons.
- Preserved the existing admin testing wave/shop functionality.
Version: 0.1.129
Date: 2026-10-01
Changes:
- Added admin biter-wave testing controls with free reward-bearing waves for rapid Battle Credit and combat testing.
- Added free Biter Attack Shop package simulations against either NORTH or SOUTH.
- Added CLEAR TEST WAVES for live admin test enemies.
Version: 0.1.128
Date: 2026-09-30
Changes:
- Moved the NORTH/SOUTH concrete running zones outward to match the new starting-ore bands.
- Kept the running areas symmetric, with the team spawn at the inner edge and the outer edge clear of the moat.
Version: 0.1.128
- 0.1.127: Moved the four main NORTH starting ore slots farther north and the four SOUTH slots farther south, so all starting ores are outside their spawn line while keeping the randomized mirrored resource layout and fixed oil/uranium unchanged.
Changes:
- 0.1.126: Corrected the main starting solid-ore layout so NORTH resources are shifted farther north and SOUTH resources farther south, preserving more build space around each spawn while retaining mirrored randomized ore positions.
Date: 2026-09-30
Changes:
- Shifted the main NORTH/SOUTH solid-resource starting positions toward the centre of the expanded arena.
- Kept the main oil positions fixed.
- Preserved mirrored NORTH/SOUTH resource fairness and randomized iron/copper/coal/stone assignment.
Version: 0.1.124
Date: 2026-09-30
Changes:
- Extended the opening GAME LENGTH VOTE from 60 seconds to 90 seconds so teams have more time to discuss the match target.
- Added a prominent GAME LENGTH VOTE panel to the main BATTLE tab so new and returning players are less likely to miss the vote.
- Kept the existing CREDITS-tab vote controls and all existing voting rules.
- Players joining NORTH or SOUTH while the vote is active now receive a clear message showing the remaining vote time.
Version: 0.1.123
Date: 2026-09-30
- Widened the main FBB menu frame so the full tab row fits inside the frame.
- Restored normal Factorio font sizing for the BATTLE, CREDITS, ATTACK SHOP, OUTPOSTS, TOOLS and ADMIN tabs.
- Kept the existing wrapped text layout for longer menu content.
Version: 0.1.122
Date: 2026-09-30
- Arena Reset now calls Factorio's map playtime reset so the native Browse Games Playtime reflects the current FBB match instead of accumulating across arena resets.
- Kept the existing FBB match reset behaviour unchanged.
Version: 0.1.121
- Fixed the main menu tab widths so all six tabs remain fully inside the menu frame.
- Compact tab font/padding and fixed the tab bar width to prevent the tab row from protruding beyond the frame.
Version: 0.1.120
- Fixed the main GUI tab bar using Factorio frame-tabbed-pane styling so the tabs stay inside the menu frame.
- Reduced tab padding/font size slightly so all six tabs fit cleanly without protruding past the menu frame.
Version: 0.1.119
Changes:
- Changed the main FBB tabbed-pane presentation to standard standalone Factorio tab styling so the tabs no longer visually overlap the surrounding menu frame.
- Added clean spacing above and below the tab bar while retaining the grey/black Factorio look.
- Retained the v0.1.118 text-wrapping and narrower-menu improvements.
Version: 0.1.118
Changes:
- Fixed the MENU button crash caused by assigning the unsupported single_line property directly to a LuaGuiElement.
- Text wrapping now uses the label's LuaStyle single_line property correctly.
Version: 0.1.117
Changes:
- Reduced the main FBB menu width so the window no longer extends unnecessarily beyond its content.
- Added consistent text wrapping to longer labels across the Battle, Credits, Attack Shop, Outposts, Tools and Admin sections.
Version: 0.1.116
Changes:
- Renamed the main top-screen FBB menu button to MENU so new players can immediately identify it as the main menu.
- Updated the active-vote caption to MENU • VOTE and related tooltip text.
Version: 0.1.115
Changes:
- Narrowed and improved the ABOUT / HOW TO PLAY window so long text wraps within the available width instead of running off-screen.
Version: 0.1.114
Changes:
- Expanded the main NORTH/SOUTH arena from 320x640 tiles to 400x720 tiles for additional factory-building space.
- Kept the established main oil, uranium, outpost, spectator and central battlefield locations fixed.
- Widened the main home-area building zones so the new space is useful for larger factories.
- The larger layout is applied on new arena generation / Arena Reset so existing matches are not reshaped mid-match.
Version: 0.1.113
Changes:
- Fixed EAST/WEST outpost GUI buttons not responding because Lua pattern matching was incorrectly using unsupported alternation syntax.
- Outpost action callbacks now correctly parse EAST and WEST buttons for claim/join, travel, leave, accept/reject, leadership transfer and member removal.
- Unclaimed outposts are presented as JOIN EAST / JOIN WEST.
Version: 0.1.110
Changes:
- Added NORTH EAST, NORTH WEST, SOUTH EAST and SOUTH WEST team-owned factory outposts.
- Added OUTPOSTS GUI tab with claim, join-request, accept/reject, leave, travel, remove-member and leadership-transfer controls.
- First player to claim an unclaimed outpost becomes its OUTPOST LEAD.
- Other players must request permission from the Outpost Lead before joining.
- Added large finite iron/copper/coal/stone reserves to each outpost; NORTH/SOUTH outpost pairs keep mirrored resource mixes.
- Added safe GUI travel between an outpost and the team's main base with a short travel cooldown.
- Added Outpost Lead grace/succession handling for disconnected leaders.
- Added current-location display for main base, outpost and SPECTATE / AFK states.
Version: 0.1.109
Changes:
- Added an ABOUT button to the top of the FBB main window.
- Added a player-facing HOW TO PLAY guide covering team selection, finite resources, Battle Credits, biter pressure, the Attack Shop, game-length voting, SPECTATE / AFK, and arena resets.
- Styled the ABOUT controls using the same Factorio-style GUI treatment as the main FBB interface.
Version: 0.1.108
Changes:
- Reorganized the FBB main GUI into Factorio-style tabs: BATTLE, CREDITS, ATTACK SHOP, TOOLS, and ADMIN.
- Updated GUI buttons and section frames to use Factorio's standard grey/black visual styles.
- Kept the existing Battle Credits, personal Credit deposit, Biter Attack Shop, team controls, moderation and reset actions available within their relevant sections.
- Added recursive GUI lookup for nested timeout controls so tabbed GUI structure does not break existing callbacks.
Version: 0.1.107
Changes:
- Added a DEPOSIT ALL TO TEAM button for active NORTH/SOUTH players with Personal Credits.
- Depositing transfers the player's current Personal Credits into the team's spendable Battle Credits pool to support team-funded Biter Attack Shop purchases.
- Deposited Credits are not double-counted as new team lifetime Credits Earned; this is a player-to-team transfer.
- Depositing can contribute toward the team's existing victory target.
Version: 0.1.106
Changes:
- Added the BITER ATTACK SHOP to the FBB menu for active NORTH/SOUTH players.
- Added team-funded attack packages costing 500 / 1,000 / 2,000 / 4,000 / 7,500 Battle Credits.
- Shop purchases launch real enemy waves against the opposing team's base and deduct the package cost from the purchasing team's current Battle Credits.
- Shop waves use small and medium biters only; no spitters, big biters, or behemoths.
- Spending does not alter lifetime Credits earned or personal Credits/leaderboard values.
Version: 0.1.105
Changes:
- Added a top-bar CLEAR CORPSES button for nearby battlefield cleanup.
- Clears enemy corpse entities within a 75-tile radius of the player.
- Preserves player character corpses so dropped player inventory is not accidentally deleted.
- Available to normal players, including players currently serving a timeout.
Version: 0.1.104
Changes:
- Fixed the walking spectator controller-change event from sending SPECTATE / AFK players back to a team spawn.
- Kept spectator players visible and walkable on the spectator island while retaining the interaction lock.
- Strengthened the saved-position return path so team-spawn correction cannot overwrite the pre-spectate location during the return transition.
Version: 0.1.103
Changes:
- SPECTATE / AFK now keeps a visible player character on the spectator island so players can walk around instead of becoming an invisible native spectator camera.
- Spectator players use a dedicated permission group to block building, mining, crafting, shooting, equipment and entity-interaction actions while still allowing movement and FBB GUI use.
- Spectator return no longer uses the normal team spawn path. The existing character is returned to the saved pre-spectate position, with a short authoritative position-lock window to prevent late spawn/controller handlers overwriting it.
- Original player permission-group membership is restored when returning to a team.
Version: 0.1.102
Changes:
- Fixed hand-crafted science-pack Credit tracking.
- Actual science packs crafted by players now count toward the existing 10-pack Science Credit milestone.
- Assembling-machine science production continues to use products_finished tracking.
- Placing, inserting, moving, or otherwise handling science packs does not award production Credits.
Version: 0.1.101
Changes:
- Removed the duplicate "Research Completed" wording from the FBB research-credit notification.
- Native Factorio research completion messages remain; the FBB line now shows the team Credit award with the technology icon without repeating the completion notice.
Version: 0.1.100
Changes:
- SPECTATE / AFK players are now distributed around the spectator island instead of all being placed at one point.
- Uses deterministic positions around the grass area so multiple spectators can coexist without stacking.
- Spectator position correction now uses each player's assigned spectator position.
Version: 0.1.99
Changes:
- Fix SPECTATE / AFK return so the saved pre-spectate position is repeatedly and authoritatively restored after the team character/controller is recreated.
- Remove the old team character when entering native spectator mode so spectator/return transitions do not leave duplicate player bodies behind.
- Clean orphan character entities at the fixed team/spectator spawn areas during arena reset and mod configuration migration.
- FBB roster display now continues to derive from live team forces; disconnected players are not intended to appear as active GUI roster members.
Version: 0.1.98
Changes:
- Randomised iron, copper, coal and stone deposit placement on every new arena.
- Kept all oil and uranium deposits at their existing fixed locations.
- Preserved NORTH/SOUTH symmetry and equal resource mixes while varying ore positions between matches.
- Arena reset announcement now uses the actual FBB build version dynamically.
Version: 0.1.97
Changes:
- Added a pistol and 100 firearm magazines to the starting kit for early-game defence.
- Kept the existing 10 burner mining drills, 10 stone furnaces, and 50 coal starter resources.
- Updated runtime/build version references.
Version: 0.1.96
Changes:
- Fixed SPECTATE / AFK return ordering so the controller-change handler cannot overwrite the saved pre-spectate position with the team spawn.
- Preserves the existing inventory/equipment/quickbar restoration while returning to the exact pre-spectate location.
- Arena reset announcement now uses the current FBB version dynamically.
Version: 0.1.95
Changes:
- Fix SPECTATE / AFK return position: controller-change handling no longer overwrites the saved pre-spectate position with the team spawn.
- Preserve the saved position until the deferred spectator restoration completes.
- Update the arena-reset announcement from the stale v0.1.89 label to v0.1.95.
Version: 0.1.94
Changes:
- Rebalanced automatic FBB battle waves to use small and medium biters only.
- Automatic waves no longer spawn spitters, big biters, or behemoth biters.
- Small biters remain the primary wave unit, with medium biters introduced as evolution increases.
Version: 0.1.93
Changes:
- SPECTATE / AFK now remembers the player's exact pre-spectate position and returns them there instead of the team starting spawn.
- Preserves the working spectator inventory, armor/equipment, quickbar, weapon/ammo, and cursor restoration.
Version: 0.1.92
Changes:
- Fix Factorio 2.0 spectator inventory restoration to correctly handle LuaInventory.get_contents() item records.
- Preserve item name, count, and quality when restoring carried inventory.
- Prevent the SPECTATE / AFK return path from crashing on Factorio 2.0 inventory data.
Version: 0.1.91
Changes:
- Fix a Lua syntax error in the spectator inventory restoration function that prevented the headless server from loading.
- Preserve the deferred spectator restoration lifecycle introduced for SPECTATE / AFK.
Version: 0.1.90
Changes:
- Fix the missing Lua block closure introduced during the spectator inventory restoration work.
Version: 0.1.89
Changes:
- Harden SPECTATE / AFK return so the saved carried state is restored after the normal team character/controller lifecycle has settled.
- Preserve inventory contents, armor/equipment, quickbar filters, and cursor stack across SPECTATE / AFK.
- Retry the restoration on subsequent ticks if the character or equipment grid is not ready yet, instead of consuming the saved snapshot.
- Clear pending spectator restoration state when an arena reset starts a new match.
Version: 0.1.86
Changes:
- Make the Game Length Vote immediately visible after joining NORTH or SOUTH.
- Refresh the FBB GUI automatically after a successful team join so the 5,000 / 10,000 / 20,000 / 50,000 vote buttons appear without reopening the panel.
- Change the top FBB button to `FBB • VOTE` while an active game-length vote is available to the player.
- Add a clearer tooltip indicating that the game-length vote is active.
Version: 0.1.85
Changes:
- Fix crash when the victory-target vote closes: `format_number` is now declared before `finalize_victory_vote`.
- No gameplay/economy changes.
Version: 0.1.84
Changes:
- Restore and harden the Victory Target / Game Length voting system.
- Players can vote from the FBB GUI for 5,000 (SHORT), 10,000 (STANDARD), 20,000 (LONG), or 50,000 (MARATHON) Battle Credits.
- The active vote shows live vote totals and a countdown.
- The top scoreboard now clearly shows when the game-length vote is active.
- The winning target is announced when the 60-second vote closes; no-vote and tie results default to 10,000 Credits.
- Arena reset starts a completely fresh game-length vote and clears the previous vote state.
Version: 0.1.83
Changes:
- Fix arena reset so the NORTH, SOUTH, and spectator technology trees reset to a fresh unresearched state for every new match.
- Reset force research progress, recipes, and research modifiers when a new arena is created.
Version: 0.1.82
Changes:
- Fix timeout state and countdown UI so active timeouts do not carry over into a new arena/match.
- Clear timeout votes, timeout correction state, timeout history and spectator-break state during arena reset.
- Refresh the FBB top-bar controls after a reset so stale TIMEOUT countdown buttons are removed.
- Rename the player spectator button from Spectator Break to SPECTATE / AFK.
- Add a ready-to-use colourful Factorio server-listing name and description for the Browse Games/server browser.
Version: 0.1.81
Changes:
- Enforce balanced team joining: players cannot voluntarily join the larger active team.
- Restrict player timeout voting to the target's own team; NORTH cannot vote to timeout SOUTH and vice versa.
- Split player Timeout Vote controls from the admin-only Admin Commands section.
- Rename the moderation GUI section to Admin Commands and keep admin timeout, timeout release and arena reset controls admin-only.
- Add admin test controls to send 8 basic small biters to NORTH or SOUTH. Test biters do not award Battle Credits.
- Add symmetric concrete running areas around both starting boxes.
- Add 50 coal to each player's starting kit.
- Preserve the v0.1.80 science-production Credits, personal Credits and leaderboard systems.
Version: 0.1.80
Changes:
- Add team Battle Credit rewards for actual science-pack production: every 10 produced packs awards the configured science reward.
- Add separate configurable science rewards for red, green, military, blue, production, utility and space science.
- Add separate personal Credits earned from qualifying hand-crafted items; personal Credits are separate from the team victory score.
- Add Top 10 personal Credit leaderboard and display the player's personal Credits and rank in the FBB panel.
- Add /battle-leaderboard command.
- Science-production Credit gains use the team HUD notification instead of chat spam.
- Remove continuous spawn-debug watch processing from normal gameplay to reduce server log spam.
- Preserve the tested v0.1.79 resource collection fixes and all existing battle systems.
Version: 0.1.79
Changes:
- Fix finite oil collection/reporting radius so all 24 starting oil wells are included in Resources Remaining and Deposits totals.
- Preserve the tested 1,500% combined oil field and 24-well layout.
- Keep the v0.1.78 GUI crash fixes and all previously tested gameplay systems unchanged.
Version: 0.1.78
Changes:
- Fix Resources Remaining GUI crash caused by print_resources being declared after the on_gui_click handler.
- Fix Deposits GUI handler ordering so print_deposits is available when the GUI is clicked.
- Move resource-total/resource-reporting helpers before GUI event handling so they are resolved as local functions at runtime.
- Harden resource/deposit reporting against missing or partially initialized storage.
- Preserve the existing finite resource, oil, fish, Battle Credit, voting, spectator, moderation, and multiplayer systems.
Version: 0.1.62
Changes:
- Add per-player Credit HUD ON/OFF toggle in the FBB GUI.
- Disabled players receive no personal or team machine-production Credit HUD notifications.
- Credits, scoreboard, and game mechanics are unchanged.
Version: 0.1.60
Changes:
- Machine-produced Credits now display as a batched team HUD notification.
- Production notifications are shown to all connected members of the producing team instead of chat spam.
Version: 0.1.59
Changes:
- Fix assembler Credit tracking using Factorio products_finished.
- Automated production now awards Credits reliably even when outputs are immediately removed by inserters.
- Existing assemblers are re-registered after mod updates and periodically discovered.
Version: 0.1.58
Changes:
- Fix assembler Credit production tracking.
- Detect completed assembler crafting cycles instead of relying on output-inventory increases.
- Credits are awarded even when inserters immediately remove the finished item.
- Assembler placement and ghost placement still award no Credits.
Version: 0.1.57
Changes:
- Rebuilt Battle Credit production tracking from the known-good 0.1.54 base.
- Credits are awarded for actually crafting qualifying building items, not placing them.
- Hand-crafted qualifying items award Credits through on_player_crafted_item.
- Assembling-machine production of qualifying items is tracked from output inventory increases.
- Ghost placement, ordinary placement, deconstruction, and rebuilding do not award Credits.
- Removed the broken data-final-fixes recipe handling introduced in 0.1.56.
Version: 0.1.54
Changes:
- Fix Credit exploit where ghost blueprint/entity placement awarded construction Credits.
- Credits are now awarded only when a real entity is actually constructed.
Version: 0.1.53
Changes:
- Replace ordinary construction Credit chat spam with a batched temporary HUD notification.
- Construction Credit gains no longer broadcast to multiplayer chat.
- Important FBB Credit events remain visible in chat.
Version: 0.1.52
Changes:
- Prevent construction Credit farming by deconstructing and rebuilding the same building at the same location.
Version: 0.1.51
Changes:
- Fix Battle Credits scoreboard crash caused by team_credits being declared after its first runtime use.
Version: 0.1.50
Changes:
- Added Battle Credits economy, live scoreboard, configurable victory target, kill/build/research credit rewards, and match-complete detection.
Version: 0.1.48
Changes:
- Make the spectator island observation-only by using Factorio's native spectator controller.
- Spectator-break players can no longer pick up items, mine, build, or interact with the world.
Version: 0.1.47
Changes:
- Finalized the timeout/penalty-island system.
- Added authoritative penalty-island position correction and reconnect-safe enforcement.
- Timed-out players receive a restricted penalty-box GUI and cannot use battle or moderation controls.
- Added admin END TIMEOUT control for early release.
- Added lightweight per-player timeout history.
- Preserved North/South team assignment throughout timeout and return.
Version: 0.1.46
Changes:
- Make Spectator Break position authoritative for a short correction window.
- Disable the vanilla Freeplay intro message/cutscene popup.
Version: 0.1.45
Changes:
- Fix Spectator Break crash caused by local function declaration order.
- --------------------------------------------------------------------------------------------------
- Fixed missing function closure in control.lua that prevented headless server initialization.
- --------------------------------------------------------------------------------------------------
- Fixed control.lua syntax error in top-bar state handling that prevented headless/server initialization.
Version: 0.1.42
Changes:
- Added a dedicated penalty-box island for player timeouts.
- Added admin timeout controls with 30-second to 30-minute durations.
- Added player timeout voting with majority approval and a 30-second voting window.
- Timeout players keep their original North/South team assignment and automatically return when the penalty expires.
- Added a live timeout countdown in the top GUI.
- Timeout players cannot participate in team play while serving the penalty.
Version: 0.1.41
Changes:
- Added a Spectator Break button for active team players.
- Players can move to the central spectator island without losing their team assignment or factory.
- Added a Return to NORTH/SOUTH button to resume play.
- Break state survives reconnects.
- New players still use the spectator island lobby and choose their initial team.
Version: 0.1.40
Changes:
- Add a central spectator island for new and unassigned multiplayer players.
- New players no longer get auto-assigned to North/South; they choose their side when ready.
- Add JOIN NORTH and JOIN SOUTH buttons directly in the top GUI and in the FBB control panel.
- Keep existing players on their saved team when reconnecting.
- Add a visible spectator-area message explaining how to choose a team.
- Remove duplicate automatic join announcements from team assignment.
- Preserve the existing arena, resources, waves, GUI, starter kit, and research systems.
Version: 0.1.39
Changes:
- Explicitly tell each joining player whether they joined NORTH or SOUTH after the multiplayer join event.
- Announce the player's side to the whole match after the join UI is ready.
Version: 0.1.38
Changes:
- Fix multiplayer join so new players do not remain in the Factorio intro/welcome cutscene.
- Joiners are immediately placed into their assigned North/South team character.
- No arena, resource, team, wave, GUI, or research changes.
Version: 0.1.62
Changes:
- Fix machine-produced Credit notifications so they use the team HUD instead of chat.
Version: 0.1.63
Changes:
- Added player voting for the match victory target.
- Active NORTH/SOUTH players can vote for 5,000, 10,000, 20,000, or 50,000 Credits.
- Players can change their vote while voting is open.
- Victory target defaults to 10,000 Credits if there are no votes or a tie.
- The selected target is locked for the match and a new vote starts after arena reset.
Version: 0.1.64
Changes:
- Removed the duplicate FBB research announcement so Factorio's native research message is shown only once.
- Kept the technology icon in the FBB research Credit notification.
- Research Credit notifications now show the technology icon followed by "Research Completed".
Version: 0.1.65
Changes:
- Reworked the starting resource layout so all four main starting ore patches sit inside the team home box.
- Moved starting oil into the home area and reduced its physical patch radius to better suit approximately 24 pumpjacks.
- Increased starting ore patches to 50,000 total units each and enlarged their generated footprint.
- Increased central contested ore patches to 100,000 total units each and enlarged their generated footprint.
- Preserved exact North/South rotational symmetry.
Version: 0.1.66
Changes:
- Fixed a crash when the victory-target vote expired: the vote finalizer was calling format_number before that local function was declared.
- The vote finalizer now safely closes the open FBB vote panel without calling later-declared GUI helpers.
Version: 0.1.67
Changes:
- Fixed arena reset resource cleanup so old FBB resource entities are removed before new deposits are generated.
- Fixed arena reset so all connected players are returned to the central spectator island and their old team assignment is cleared.
- New matches now start from the lobby after a reset, with players choosing JOIN NORTH or JOIN SOUTH again.
- Preserved the revised symmetric North/South resource layout.
Version: 0.1.68
Changes:
- Arena reset now removes all persistent entities from the FBB control area, including player-built machines, belts and ghosts, before rebuilding the arena.
- Arena reset now clears connected players inventories/cursors so the new match starts cleanly.
- Replaced remaining player-facing Team A/Team B wording with NORTH/SOUTH.
- Bumped the displayed mod version to 0.1.68.
Version: 0.1.69
Changes:
- Increased main starting and contested ore deposits to about 1.4 million units per patch.
- Increased resource richness/density substantially while preserving the existing patch footprints.
- Increased oil fields to at least 1,500% yield per oil tile (about 170,000 total field units with the current oil footprint).
- Enforced these minimum resource totals even if an existing server setting still contains the older lower value.
Version: 0.1.71
Changes:
- Reworked starting oil into 24 separate pumpjack positions per team.
- Each oil well starts at 1,500% yield (450,000 cycles).
- Oil wells are spaced 4 tiles apart to provide practical room for pumpjacks and pipework.
- Preserved the 1.4M finite ore patches and all previous reset/victory-vote fixes.
Version: 0.1.72
Changes:
- Fixed invalid oil startup setting range that prevented the mod from loading.
- Oil field remains fixed at 1,500% combined across the 24 starting wells.
Version: 0.1.73
Changes:
- Fixed starting oil generation to produce exactly 1,500% combined yield across 24 wells.
- Cleared natural obstacles around oil wells so all 24 pumpjacks can be placed.
- Added runtime normalization and verification of oil field amounts.
Version: 0.1.74
Changes:
- Corrected the runtime oil amount scaling so the 24 starting wells total exactly 1,500% combined yield.
- Increased the generated runtime oil total from 450,000 to 4,500,000 units to match Factorio's displayed yield scaling.
- Preserved the spread-out 24-well layout and 1.4M finite ore patches.
Version: 0.1.75
Changes:
- Corrected FBB starting oil runtime amounts so the 24-well starting field displays 1,500% combined yield.
- Preserved the spread-out 24-well layout and 1.4M ore patches.
Version: 0.1.76
Changes:
- Corrected generated oil runtime amount to 4,500,000 total units for a 1,500% combined starting field across 24 wells.
Version: 0.1.77
Changes:
- Added deterministic fish around the surrounding water moat for player healing.
- Fish are recreated on every arena reset and kept outside the playable arena.
Version: 0.1.94
Changes:
- Automatic battle waves now use small/medium biters only; no spitters, big biters, or behemoths.