bbassieandClaude Fable 5 ad9a072661 Redesign the exp_roles lua api around permissions
The module no longer presents the interface of the legacy expcore.roles
module. Nothing outside this repository depends on it, so rather than carry
the legacy action strings and the transform which mapped them onto permission
names, call sites now check the clusterio permission name directly. That
removes the one invariant which silently broke every check if the lua and
typescript transforms drifted, and makes a check in lua greppable against
its definition.

- player_allowed and player_has_flag become player_has_permission; flags were
  only permissions with a change trigger, which define_permission_trigger now
  provides for any permission.
- on_role_assigned and on_role_unassigned become one on_player_roles_changed
  event carrying the assigned and unassigned names. Every consumer registered
  both for the same handler. It is also raised for connected players when a
  role is edited on the controller, which the old events never were, and for
  changes made on the controller to the roles a player holds.
- player_outranks and player_outranks_role replace the repeated comparison of
  highest role indexes, and apply the core.admin bypass consistently, which
  two of the six call sites did not.
- get_role takes a name, clusterio id, or role; get_roles replaces
  get_roles_ordered. The config views of the roles are gone, with
  role:get_player_names covering the one use of config.players.
- Roles carry a permission group, which the legacy system mapped roles to and
  the first version of the plugin dropped. A player is moved into the group of
  their most privileged role which names one. It is edited with the other in
  game properties.
- skip_checks is dropped from assign_player and unassign_player.

A player object with index 0 is treated as the server, which is how
exp_commands represents rcon.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-19 11:36:58 +00:00
2026-08-08 23:09:39 +01:00
2026-08-08 23:09:39 +01:00
2026-08-08 23:09:39 +01:00
2026-08-08 23:09:39 +01:00
2026-08-08 23:09:39 +01:00
2026-07-14 00:50:00 +01:00
2024-11-19 22:17:25 +00:00
2026-08-08 21:58:46 +01:00
2024-11-19 21:51:13 +00:00
2024-12-24 20:50:48 +00:00
2026-08-08 23:09:39 +01:00
2024-11-19 21:51:13 +00:00
2024-12-28 19:08:12 +00:00
2024-12-24 20:50:48 +00:00
2024-12-24 20:50:48 +00:00
2024-12-24 20:50:48 +00:00

logo
Release Downloads Star Fork Discord

ExpGaming Clusterio Repository

Explosive Gaming

Explosive Gaming (often ExpGaming) is a server hosting community with a strong focus on Factorio and games with similar themes. We are best known for our weekly reset Factorio server with a vanilla+ scenario where we add new features and mechanics that are balanced with base game progression. Although our servers tend to attract the more experienced players, our servers are open to everyone. You can find us through our website, discord, or the public server list with the name ExpGaming.

Installation

This is a plugin collection for Clusterio which implements all our scenario features.

To use this plugin you must have a clusterio instance running, see here for clusterio installation instructions.

This module is currently not published and therefore can not be installed via npm. Instead follow the steps for building from source

Building from source

  1. Create a external_plugins directory within your clusterio instance.
  2. Clone this repository into that directory: git clone https://github.com/explosivegaming/ExpCluster
  3. Install the package dev dependencies: pnpm install (pnpm is recommended over npm)
  4. Add supported plugins will be loaded on next controller / host restart.

Contributing

See Contributing for how to make pull requests and issues.

Releases

Release* Release Name Factorio Version**
6.4 Farewell Factorio 1.1 1.1.110
6.3 Feature Bundle 2: Electric Boogaloo 1.1.101
6.2 Mega Feature Bundle 1.1.32
6.1 External Data Overhaul 1.0.0
6.0 Gui / 0.18 Overhaul 0.18.17
5.10 Data Store Rewrite 0.17.71
5.9 Control Modules and Documentation 0.17.63
5.8 Home and Chat Bot 0.17.47
5.7 Warp System 0.17.47
5.6 Information Guis 0.17.44
5.5 Gui System 0.17.43
5.4 Admin Controls 0.17.32
5.3 Custom Roles 0.17.28
5.2 Quality of life 0.17.22
5.1 Permission Groups 0.17.13
5.0 0.17 Overhaul 0.17
4.0 Softmod Manager 0.16.51
3.0 0.16 Overhaul 0.16
2.0 Localization and clean up 0.15
1.0 Modulation 0.15
0.1 First Tracked Version 0.14

* Scenario patch releases have been omitted and can be found here.

** Factorio versions show the version they were made for, often the minimum requirement to run the scenario.

License

The Explosive Gaming codebase is licensed under the MIT

S
Description
No description provided
Readme MIT
14 MiB
Languages
Lua 85.3%
TypeScript 11.5%
JavaScript 3.2%