[Long-term suggestion] Client-side mods
Posted: Mon Jun 12, 2017 12:22 pm
Currently, as it stands, each player must download and activate all of the mods used by the host in multiplayer. However there are some mods that are non-game changing or only do things that can be replicated without this mod by players. Those mods are, in a sense, "client-side", that is, they only change things for the player using them. But they still must be explicitly activated by the host and each player must use them. In some cases the inability to use this mod normally forces players to either open a second instance of Factorio just to use this mod or use a standalone application.
Factorio has plenty of public servers and their number is only going to grow in the future, yet the mod system is inflexible for players.
My suggestion is to split mods into two categories: "server-side" and "client-side". Server-side mods enjoy full unrestricted access to API and must be downloaded and activated by all players wanting to play on a server. Client-side mods must only use a different API that is just a safe wrapper around game's API, that is, they are given only limited access. Things like changing biters' AI (Rampant) or cheating yourself items (Creative Mode) clearly belong to server-side mods whereas evenly distributing items between multiple containers (Even Distribution) or calculating requirements for production (Helmod) or even just showing which assemblers are idling or lack resources (Bottleneck) are clearly client-side and should bear no cost for the server.
To be more clear, client-side mods can only do things that a player can do himself.
This is a long-term suggestion because currently there isn't such a great demand for it, but I am pretty sure it's soon going to be problematic if things were to left this way.
Related:
Client side modding (UI / UX)
Factorio has plenty of public servers and their number is only going to grow in the future, yet the mod system is inflexible for players.
My suggestion is to split mods into two categories: "server-side" and "client-side". Server-side mods enjoy full unrestricted access to API and must be downloaded and activated by all players wanting to play on a server. Client-side mods must only use a different API that is just a safe wrapper around game's API, that is, they are given only limited access. Things like changing biters' AI (Rampant) or cheating yourself items (Creative Mode) clearly belong to server-side mods whereas evenly distributing items between multiple containers (Even Distribution) or calculating requirements for production (Helmod) or even just showing which assemblers are idling or lack resources (Bottleneck) are clearly client-side and should bear no cost for the server.
To be more clear, client-side mods can only do things that a player can do himself.
This is a long-term suggestion because currently there isn't such a great demand for it, but I am pretty sure it's soon going to be problematic if things were to left this way.
Related:
Client side modding (UI / UX)