Captain's Diary #55: Forum and Mods on COI Hub
- 10 minutes ago
- 17 min read
Hello everyone, Captain Marek reporting back to duty with an exciting update on the COI Hub: The Hub now supports mods hosting and we’ve also added Forums! The game got some neat updates too.

Mods on COI Hub
Many of you already know COI Hub https://hub.coigame.com/, it’s the place to share blueprints, maps, and contribute game translations. The Hub’s mods section has been under construction for some time and now it is ready!
Some people may be wondering why we decided to build our own mod hosting instead of using existing solutions such as Steam Workshop, Nexus Mods, or similar platforms. There are several reasons for this:
No platform lock-in – We don’t want our modding ecosystem to be locked to a single platform. Third-party platforms may not have features that we want, can change their rules, APIs, user experience, may have ads, or have other issues.
Everything in one place – COI Hub already hosts blueprints, maps, and translations, so mods are a natural addition. Keeping things centralized and organized is a big benefit.
Better game integration – Since the Hub is ours, we can integrate it more tightly with the game over time, including in-game browsing, installing, updating, or warning about mods that have security issues.
Custom-made for our needs – Mods provide metadata that lets us show important info like which game versions they support, what dependencies they have, changelog, and more.
Security and moderation – Hosting mods ourselves gives us better tools to screen uploads, remove harmful content, and eventually warn players when a mod does something risky or breaks important rules.
This does not mean mods cannot exist elsewhere. We simply want COI Hub to be the official place where players can reliably find good mods, and where we can keep improving the experience over time.
Mod hosting features
Mod hosting is much more than file sharing. A good mod page needs to explain what the mod does, which game versions it supports, how actively it is maintained, and where players can go if they need help. That’s why mod hosting on COI Hub comes with several features designed specifically for mods:
Rich mod home page – Each mod gets its own page with a thumbnail, detailed description, rich formatting, attached images, and other information like its development status (beta/stable/deprecated), ratings, links to source code, and more.
Announcements – Mod authors can post important updates, plans, or notices prominently displayed on their mod page.
Version archive – Older versions of a mod remain available, which is useful when playing on an older game version or when a new mod update introduces issues.
Changelog support – Mod’s changelog.txt is parsed and shown in a clean, readable format.
Dependency overview – The Hub shows which other mods are required, making it easier for players to install everything correctly.
Forum integration – Each mod has its own forum board. Mod authors can create sub-boards, moderate discussions, or disable the forum entirely if they prefer.

Security
One of the reasons we built our own mod hosting was security, and we take it seriously. Like mods in many other games, COI mods can execute code, so we wanted to give players an extra layer of security before they download anything.
All mods uploaded to the Hub are automatically scanned, and the results are shown in a code analysis section near the top of the mod page. The analysis highlights potentially sensitive behavior, such as filesystem access, network access, or use of reflection that could be used to hide suspicious activity.
These findings do not automatically mean that a mod is malicious, and mods are not blocked just because something is flagged. Instead, we show the information clearly and leave the final decision to the player. For example, network access may be perfectly reasonable for a multiplayer mod, but much more suspicious in a mod that only adds a decorative statue.
If you find a mod that appears to be doing something suspicious or harmful, please use the Report this mod button at the bottom of the mod page. This helps us review problematic uploads and take action when needed.

Uploading a mod and licenses
Uploading a mod to COI Hub is simple: just drop in a .zip file with all the necessary contents. For more information about creating mods, see our modding documentation on GitHub.
Then, and this is a very important part, you will need to pick a license. This license is not for players, they all can use your mod. The license dictates how fellow mod creators can use your mod. You are free to pick whatever license you want, but we have prepared two COI-friendly licenses for you to consider.
COI-Open
The first license is called COI-Open and it lets other mod creators freely use, modify, and share your mod within the Captain of Industry ecosystem, as long as credit is given, derivative works remain under the same license, and the work is not used outside the Captain of Industry ecosystem.
We encourage open-source mods, but the COI-Open license does not require authors to publish their source files, project files, or any internal development files unless they want to. The license only defines what others are allowed to do with the mod files they publish.
This license is a good choice for authors who want their mods to be open to collaboration and community improvements. Full license text is available here: https://www.captain-of-industry.com/coi-open
COI-Keep
The second license is called COI-Keep. This license allows players to use the mod normally, but preserves more control for the original author. Derivative works are not allowed without permission, with one important exception: limited community maintenance.
Limited community maintenance means that if a mod becomes incompatible with the game and the original author is no longer active or does not address the issue within a reasonable time, the community may publish fixes to keep the mod working. This exception is only for compatibility and maintenance fixes, not for adding new features or taking over the mod. The work still belongs to the original author.
If the original author returns and updates the mod, the community maintenance exception ends, and the author resumes control over publishing updates, unless the mod becomes broken again in the future.
COI-Keep is meant for authors who want to keep control over their work and do not necessarily want to make their mods fully open, while still allowing the community to keep the mod alive if the author moves on from the game or becomes unavailable. Full license text is available here: https://www.captain-of-industry.com/coi-keep

Why use these licenses?
The first reason is that both COI-Open and COI-Keep keep the work within the Captain of Industry ecosystem. Even if you allow others to modify or build on your mod, these licenses do not allow the work to be taken and reused for unrelated projects outside Captain of Industry.
The second important advantage is that these licenses allow mods to include code snippets from decompiled game code, as well as modified game assets, such as recolored textures or altered 3D models. General-purpose licenses such as MIT, GPL, or CC BY 4.0 are not well suited for this, because they can imply that the mod author is granting rights to everything included in the mod. That becomes problematic when a mod contains decompiled game code or modified assets, since those parts are still based on copyrighted work and Captain of Industry IP.
Modding policy
We have also updated our official modding policy to make it clearer what is and is not allowed when creating Captain of Industry mods. The most important changes are:
Modified game assets – Recolored textures, altered models, and similar modified assets are allowed as part of a mod, as long as they are used only within the Captain of Industry ecosystem and not redistributed as standalone asset packs.
Small code snippets – Mod authors may include short references or excerpts from decompiled game code when reasonably needed for the mod to function or be maintained, but they may not publish substantial parts of the game code.
Better license guidance – If a mod contains modified game assets or snippets from game code, general-purpose licenses (such as MIT) are not enough by themselves unless they clearly exclude MaFi Games materials. This is why we prepared COI-Open and COI-Keep as they are designed for COI mods and avoid accidentally relicensing our copyrighted game code or assets.
Hub rules – Since mods can now be uploaded to COI Hub, the policy explains what rights are needed for hosting, scanning, displaying thumbnails and metadata, distributing mods, and removing problematic uploads.
Mod ownership – Mod authors keep ownership of their original work, but the policy also makes clear that MaFi Games may develop similar ideas or features independently, since we may already be working on overlapping game systems.
You can read the full text of the policy at https://www.captain-of-industry.com/modding-policy.
Forums on COI Hub
In addition to the Modding section, we are also introducing Forums!
We have always liked traditional forums: boards, sub-boards, topics, replies… anyone remembers phpBB? That is the kind of internet we grew up with, and we still think this format works really well for game communities. Chat platforms are great for quick conversations, but forums are much better for discussions that should remain organized and easy to find later.
One big advantage is that forums are public and searchable. You don’t need an account to read them, and useful discussions are not locked away in a walled garden. Guides, troubleshooting tips, mod support threads, suggestions, and technical discussions can stay accessible to everyone, including players who may find them much later.
Forums do not replace Discord, Reddit, or any other community spaces. They are still useful, and we are happy to see players gather wherever they prefer. Forums simply give us a more permanent, public, and organized home for thoughtful discussions that should not disappear in a fast-moving chat.

Mod forum boards
Each mod automatically gets its own forum board, so mod authors have a dedicated place for support, feedback, and discussions around their mod. This should make it easier for players to find help and for modders to keep everything related to their mod in one place.
A mod author is automatically a moderator in their own mod’s forum. They can add sub-boards to organize content better, or even lock the forum if they don’t wish to use it.
Issue reports and suggestions consolidation
With Forums on COI Hub, we also want to start consolidating bug reports and suggestions in one place. Until now, suggestions have lived on a separate ideas board, while bug reports have been spread across Discord, GitHub, and Steam forum. This worked, but it also made things harder to track, search, and follow up on.
The new forums give us a better long-term home for both. Bug reports can be better organized, discussed in dedicated topics, closed when resolved, and remain publicly searchable. Suggestions can also be discussed more easily, with room for explanations, examples, screenshots, and follow-up replies. This should make it easier for players to see whether something has already been reported or suggested, and easier for us to keep track of what the community is talking about.
This transition won’t happen instantly, but this is a start.
New Features in today’s game update
Enough about COI Hub, the game also got some sweet updates coming in v0.8.4.
Terrain inspection tool
A new tool has been added to the game: Terrain layers inspector. It uses X-ray spectroscopy to identify what elements are in the ground at what depth – pretty neat if you ask me! You can find it in the layers overlay menu (L) or activate it any time with Shift + L.
The tool shows all terrain layers, below or above ocean, and stops at the bedrock or sea level. When Shift is held, it shows the first 20 tiles for precision scanning.


Reducing the sync phase
A lot of the work was focused on reducing small delays that add up on large saves, especially the kind that can cause lower FPS or micro-stutters.
Captain of Industry runs the simulation on a separate thread so rendering can draw frames faster and more independently from the simulation. After every simulation step, however, the rendering thread needs to pause briefly to fetch fresh data from the simulation. We call this step a sync.
During the sync, neither side can do any other work. The longer it takes, the lower the FPS, and the lower the maximum game speed can be.
A big part of this patch was focused on shrinking the sync phase. Several systems already had ways to prepare data before the sync and upload it afterward, but not all of them were using this pattern as effectively as they could. In this update, we went through vehicles, trains, transports, particles, animations, machine emissions, entity icons, and product renderers, and made them much more careful about what work actually happens during sync. Their rendering update work is now organized around three phases:
Preparation work that collects and formats data for rendering. This runs during the simulation tick, still on the simulation thread.
A short sync step that swaps in the prepared data.
GPU upload work that runs afterward on the renderer thread, in parallel with the next simulation tick.
The result is that sync overhead is now largely eliminated. On large saves, the sync phase dropped from around 5–10 ms to under 0.5 ms. For context, a game running at 60 FPS has only about 16.7 ms to do everything needed for a frame. If sync alone takes a large chunk of that budget, hitting 60 FPS becomes impossible, no matter how powerful the computer is.
The picture below shows this visually. In the top half, the sync phase marked in red delays both rendering and simulation, creating wasted time, including unusable simulation time shown in magenta. In the bottom half, most of this wasted time is gone. Thanks to that, the next frame can start earlier, as indicated by the blue arrow.

The exact FPS improvement depends heavily on your hardware, especially on the relative performance of your CPU and GPU. If your system is more CPU-limited, this change can improve FPS by more than 10%.
Eliminating unnecessary CPU work
The sync improvements above mainly help by moving CPU work to better places. But in this patch, we also reduced the total amount of CPU work the game needs to do.
Trains received the biggest optimization pass. Train cargo rendering is now much cheaper, especially when trains are standing still or moving without rotation. On one large test save, this saved up to 10 ms per sim step. We also improved rail-network validation, depot updates, and train overlays, making train updates around 50% faster in some cases.
We also added more caching in places where the game was repeatedly looking up the same information. For example, machines with visual effects such as light or smoke now reuse precomputed data instead of searching for it every tick. In a test with 200 arc furnaces, this reduced one part of the update by 90%.
Several systems now also avoid extra work when nothing important has changed. This includes sounds, notifications, truck balancing, goals, farms, transports, flow indicators, and particles. Particle effects such as smoke, steam, dust, and exhaust were also cleaned up and capped at 3x simulation speed, so very high game speeds no longer put as much pressure on the particle simulation system.
Together, these optimizations should reduce stutters, improve FPS, and make large factories run more smoothly. The exact improvement depends on your save and hardware, but on our larger test saves the gains were very noticeable.
Reducing stutters
We also fixed several sources of occasional stutter: cases where the average FPS was fine, but one expensive frame caused a visible hitch.
Deconstruction in remote areas without truck access is now much cheaper, because the balancing system skips impossible hauling options up front. On one save, this issue was causing a half-second stutter every few seconds, so this fix can make a big difference in affected factories.
We also reduced particle-related spikes when placing certain entities, such as loose-material storages and train stations. Combined with the sync improvements mentioned earlier, the worst frames should now be much closer to normal frames, making large saves feel smoother overall.



Recovery saves
In the recent Update 4.1 release post, I briefly mentioned a save recovery tool that can help recover saves when mods or DLCs can no longer be loaded normally. This tool is now finished and ready to use.
To recap, the recovery tool lets you export a save into a special .recovery format. This format is less strict than a normal save and can be loaded in newer game versions, even if some mods or DLCs are missing. When loading the recovery save, the game can skip unavailable content and continue loading the rest of the factory.
This is useful for saves stuck on old versions due to save-breaking game updates or mod incompatibilities. It also lets us make deeper save-breaking changes in future updates with less risk, since players have a way to transition old saves forward.
How to recover a save
Load your old save. If the save does not load in the current game version, switch to an older supported Steam branch under Game versions & Betas that can load it, such as v0-8-2-legacy-recovery.
Open the in-game console using the tilde key (~, above Tab), run the command export_recovery_save, and follow the instructions.
Now you should have an exported .recovery file. If you exported it from a legacy branch, exit the game and switch back to the default branch.
Load the recovery save from the normal Load Game menu. You may be shown a screen where you can unload missing or unwanted mods and DLCs. Loading will take significantly longer than a normal save, but it should finish.
Once loaded, you will be presented with the recovery report where you can review what was restored and what could not be loaded.
To be extra sure that everything went well, save the game using normal save game flow and load it again. If this succeeds, your save was successfully recovered!
If loading of the recovery save failed, or some important things were not recovered, file a bug report.

Limitations
Recovery saves are lossy. They are meant to recover your factory layout and much of your progress, not to continue the game perfectly from the exact same state.
Many important things are preserved, such as terrain changes, buildings, storage contents, vehicles, trains, train lines, research progress, contracts, and much of the world map state. However, some runtime state is lost. For example, machines will load idle, vehicles will not have jobs, trains will be returned to depots, and some in-transit products may be missing.
Because of this, recovering a save may require some manual cleanup and stabilization afterward. Treat this as a last-resort tool, not as a regular save migration method.
To make recovery easier, the game grants 30 minutes of free electricity and computing after loading a recovery save. During testing, we found that some late-game factories, especially those depending heavily on FBRs, could be very difficult to stabilize before power, computing, or population issues started cascading. This grace period should give players time to inspect the factory and get critical systems running again.
Important note: To use the recovery tool you will need to be able to load the original save in some version of the game that has it, in order to export a recovery save. The recovery tool cannot magically open a save that no available game version can load. To help with this, we have backported the recovery export tool to version v0.8.2, available on Steam as the v0-8-2-legacy-recovery branch.

Community highlight
We have developed an advanced dolly camera control for our Update 4 trailer that was shot in a single take. The tool was usable enough that we decided to just leave it in the game for everyone, with no documentation on how to use it. Turns out, players are starting to find out about it and using it for epic footage. Take a look at this 560-years timelapse made by u/xTMagTx showing some awesome mining action.
The timelapse was so long that the weather was not playing along, so I’ve promised to implement weather control in the dolly camera. That’s done now. You can set constant weather that is visual-only when in the dolly mode, without needing to enable sandbox, and without affecting the game simulation (it still rains, but it is not visible – magic!)
Closing
And that’s all for now. We are still working on smaller features and fixes for now, so expect Update 4.2 in the not so distant future. Tell us what you think on our new Forum! Captain Marek signing out.
Patch notes for v0.8.4
New feature: Recovery save system * Added a new save format intended as a last-resort tool for migrating games when a normal save cannot load due to major version changes or mod incompatibilities. * Any mod or DLC can be unloaded/ignored when loading a recovery save. * Recovery save can be created via command 'export_recovery_save' and loaded through the standard load game UI. * Coverage includes terrain, trees, all static entities, conveyors/pipes including products, storage contents, vehicles, trains, train lines and networks, the research tree, world map state, contracts, and global product statistics. * After loading, a summary window lists what was loaded successfully and which proto IDs failed to load. * Not preserved: machine processing state, vehicle and train jobs, ship and fleet state, world map enemy fleets, in-progress repairs and upgrades, per-machine statistics, partially harvested trees, rocks, goals, messages, and camera position. - A recovery save should be seen as a foundation to rebuild from, not as a seamless continuation of your game. * A recovery save must be created from a save that can still be loaded. This feature does not magically restore already incompatible saves on its own. * Recovery saves are not synced to Steam Cloud. New feature: Terrain inspector * Added a terrain inspector tool that shows a vertical cross-section of the ground below the cursor with bars colored by layer, product icons, and height labels. * Activate it from the Resource Overlay (L) or directly with Shift+L. * Includes a water level line, ocean indicator, and contour lines that help to read elevation. * Hold Shift while inspecting to switch to a detail view that always spans 20 tiles below the surface. Performance * Simulation and rendering performance improvements resulting in 5-20% FPS gain overall (depending on save size and hardware). * Optimized state synchronization for vehicles, transports, animations, particles, machine emissions, products, entity icons, train depots, and entity sound groups. * Optimized rendering of train track overlays, farm crops, and blueprint transports. * Eliminated multiple sources of stuttering, including truck balancing or particle effects on storages and train stations. Other changes * Hold Ctrl and scroll the mouse wheel to switch between T2 and T3 storages during placement. * Autosaves now show a clock icon on the save row for visual clarity. * Added a "Visual Weather Override" dropdown to the dolly track editor so timelapse recordings can use a constant sky appearance without disrupting the simulation. The override is purely visual. * Game speed is now restored when leaving playback mode instead of at natural playback end. * Added a "hide cursor on play" option to the dolly editor. * Added '--launch-last-game' startup argument to skip the main menu and load the latest save. * Added '--exec-command <step> <cmd>' startup argument to schedule console commands to run after a specified number of simulation steps after game initialization (multiple --exec-command can be passed). * Added named arguments support to the console parser (e.g. 'cmd arg1 name:value'), greatly simplifying commands with multiple optional arguments. Quoted values and Windows paths are preserved. * Sapphire wafer recipe is now gated behind Electronics IV research. * Map editor: published map preview images are now capped at 10 to prevent excessively large map files. * Disabled train honking at level crossings (the noise was getting overwhelming in large saves). Fixes * Fixed filesystem errors on CrossOver (Mac) that caused issues with game saves. * Fixed that the settlement research bonus could overflow when there were more than 400k people. * Fixed that a settlement housing or decoration square could become permanently undeletable due to a stale attached-modules counter. * Fixed that settlement decoration squares could be moved to non-grid positions through in-place replacement, leading to errors when later removing them. * Fixed research state inconsistencies on load that caused error spam and could increment a completed research past its maximum level. * Fixed wrong emission color on certain entities (multi-mesh and semi-instanced) right after loading a save. * Fixed that replacing a train with fewer wagons could delete cargo from the leading wagons when removed wagons were of an incompatible type (cargo is now retrieved into the redistribution pool). * Fixed that newly built or reassigned trains did not pick up their line or network locomotive color until the color setting was re-edited. * Fixed that a locomotive with wagons on both sides had its push penalty canceled to zero. * Fixed that adding an under-construction train station to a schedule could cause an error after save/load. * Fixed transport jitter that could occur when nearby machines were rebuilt. * Fixed that a machine assigned two recipes producing the same product could stall at high fullness when the output buffer had room for the smaller recipe but not the larger. * Fixed that thermal storage could get stuck just below capacity (e.g. 59988/60000) and never trigger its 100% alert. * Fixed that the ore sorter could display wrong product piles when the texture limit was exceeded. * Fixed that rockets currently being transported showed up in the global search. * Fixed that network trains could depart partially loaded when the supply was bottlenecked; the train now waits as long as reachable storage still holds the cargo it reserved. * Fixed phantom cargo ships spawning after a depot upgrade. * Fixed mine tower trucks delivering to unassigned storages from the sorting branch. * Fixed that loop animations on Farm IV and the Nuclear Reactor did not resume after being disabled and re-enabled. * Fixed a memory leak in farm crop rendering and a visual glitch where new crop dryness was not interpolated correctly. * Fixed missing Lab IV emission lighting and reduced lab emission intensities for consistency. * Fixed that notifications added and removed on the same tick could remain stuck forever. |
