bbassieandClaude Fable 5 bea8d46c82 Address review on the role api
- Roles are objects and everything done to or with a role is a method on it:
  assign, unassign, has_player, has_permission, is_higher_than,
  is_lower_than, get_players, get_player_names, print. Assignment has one
  entry point, role:assign(player, options), with local_only as an option
  rather than a second function.
- Roles are looked up by clusterio id with get_role; get_role_by_name searches
  the list for the few places, such as configs, which only know a name. The
  name map and the ordered list are gone, get_roles sorts on demand and the
  index field is replaced by the comparison methods.
- Players are LuaPlayer objects only, with nil or index 0 for the server.
- get_higher_roles and get_lower_roles replace print_to_roles_higher and
  print_to_roles_lower, call sites loop over them with role:print.
- Permission groups are removed from roles again, exp_groups owns the mapping
  from roles to groups.
- Seeding is a SeedRolesRequest behind a button on the roles page rather than
  running on first start, and creates only the roles; the player assignments
  are dropped. The seed lists each permission once at the lowest role which
  has it and lets the parent chain carry it up.
- System commands unlock for core.admin rather than a permission of their own.
- Role metatables are registered with Storage.register_metatable so the
  methods survive save and load, which the role records in storage needed.
- The player list auth uses Roles.player_outranks directly, and the event
  carries role ids rather than names.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-19 15:52:50 +00:00
2026-08-08 23:09:39 +01:00
2026-08-08 23:09:39 +01:00
2026-08-19 15:52:50 +00:00
2026-08-19 15:52:50 +00: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%