Core

Commands Core Module - Commands - Factorio command making module that makes commands with better parse and more modularity
Common-Library Core Module - Common Library - Adds some commonly used functions used in many modules
Gui Core Module - Gui - This file is used to require all the different elements of the gui module - each module has an outline here but for more details see their separate files in ./gui - please read the files for more documentation that cant be shown here - please note there is a rework planned but not started
Permissions-Groups Core Module - Permission Groups - Permission group making for factorio so you never have to make one by hand again
Roles Core Module - Roles - Factorio role system to manage custom permissions.
Store Core Module - Store - Adds an easy way to store and watch for updates to a value
Sudo Core Module - Sudo - An extention of task and token to allow a single require to register and run functions bypassing all permissions.

Addons

Advanced-Start Adds a better method of player starting items based on production levels.
Chat-Popups Creates flying text entities when a player sends a message in chat; also displays a ping above users who are named in the message
Chat-Reply Adds auto replies to chat messages; aswell as chat commands
Compilatron Adds a compilatron that walks around the spawn area; adapted from redmew code
Damage-Popups Displays the amount of dmg that is done by players to entities; also shows player health when a player is attacked
Death-Logger Makes markers on the map where places have died and reclaims items if not recovered
Discord-Alerts Sends alert messages to our discord server when certain events are triggered
Pollution-Grading Makes polution look much nice of the map, ie not one big red mess
Player-Colours Gives players random colours when they join, also applies preset colours to those who have them
Scorched-Earth When a player walks around the tiles under them will degrade over time, the same is true when entites are built
Spawn-Area Adds a custom spawn area with chests and afk turrets

Commands

Admin-Chat Commands Module - Admin Chat - Adds a command that allows admins to talk in a private chat
Bonus Commands Module - Bonus - Adds a command that allows players to have increased stats
Cheat-Mode Commands Module - Cheat Mode - Adds a command that allows players to enter cheat mode
Clear-Inventory Commands Module - Clear Inventory - Adds a command that allows admins to clear people's inventorys
Debug Commands Module - Debug - Adds a command that opens the debug frame
Find Commands Module - Find - Adds a command that zooms in on the given player
Help Commands Module - Help - Adds a better help command that allows searching of descriotions and names
Home Commands Module - Home - Adds a command that allows setting and teleporting to your home position
Interface Commands Module - Interface - Adds a command that acts as a direct link to the the active softmod, for debug use
Jail Commands Module - Jail - Adds a commands that allow admins to jail, unjail, and temp ban players
Kill Commands Module - Kill - Adds a command that allows players to kill them selfs and others
Me Commands Module - Me - Adds a command that adds * around your message in the chat
Rainbow Commands Module - Rainbow - Adds a command that prints your message in rainbow font
Repair Commands Module - Repair - Adds a command that allows an admin to repair and revive a large area
Reports Commands Module - Reports - Adds a commands that allow players to report other players
Roles Commands Module - Roles - Adds a commands that allow interaction with the role system
Spawn Commands Module - Spawn - Adds a command that allows players to teleport to their spawn point
Tag Commands Module - Tag - Adds a command that allows players to have a custom tag after their name
Teleport Commands Module - Teleport - Adds a command that allows players to teleport to other players
Warnings Commands Module - Warnings - Adds a commands that allow admins to warn other players

Control

Jail Control Module - Jail - Adds a way to jail players and temp ban players.
Production Control Module - Production - Common functions used to track production of items
Reports Control Module - Reports - Adds a way to report players and store report messages.
Rockets Control Module - Rockets - Stores rocket stats for each force.
Tasks Control Module - Tasks - Stores tasks for each force.
Warnings Control Module - Warnings - Adds a way to give and remove warnings to players.
Warps Control Module - Warps - Stores warps for each force.

Guis

Player-List Gui Module - Player List - Adds a player list to show names and play time; also includes action buttons which can apply to players
Rocket-Info Gui Module - Rocket Info - Adds a rocket infomation gui which shows general stats, milestones and build progress of rockets
Science-Info Gui Module - Science Info - Adds a science info gui that shows production usage and net for the different science packs as well as an eta
Task-List Gui Module - Task List - Adds a task list to the game which players can add remove and edit items on
Warps-List Gui Module - Warp List - Adds a warp list gui which allows players to add and remove warp points

Configs

File-Loader This contains a list of all files that will be loaded and the order they are loaded in; to stop a file from loading add "--" in front of it, remove the "--" to have the file be loaded; config files should be loaded after all modules are loaded; core files should be required by modules and not be present in this list;
Player-List Config for the different action buttons that show on the player list; each button has the button define(s) given along side an auth function, and optional reason callback; if a reason callback is used then Store.set(action_name_store,player.name,'BUTTON_NAME') should be called during on_click; buttons can be removed from the gui by commenting them out of the config at the bottom of this file; the key used for the name of the button is the permission name used by the role system;
Advanced-Start This file is used to setup the map starting settings and the items players will start with
Bonuses Lists all bonuses which can be used, name followed by min max
Chat-Reply This file defines the different triggers for the chat bot
Compilatron Config file for the compliatrons including where they spawn and what messages they show
Death-Logger This config controls what happens when a player dies mostly about map markers and item collection; allow_teleport_to_body_command and allow_collect_bodies_command can be over ridden if command_auth_runtime_disable is present; if not present then the commands will not be loaded into the game
Discord-Alerts Config file used to enable and disable different push messages for discord
Commands-Auth-Admin This is a very simple config file which adds a admin only auth functio; not much to change here its more so it can be enabled and disabled from ./config/file_loader.lua; either way you can change the requirements to be "admin" if you wanted to
Commands-Auth-Roles This will make commands only work if the role has been allowed it in the role config
Commands-Auth-Runtime-Disable This config for command auth allows commands to be globally enabled and disabled during runtime; this config adds Commands.disable and Commands.enable to enable and disable commands for all users
Commands-Parse This file contains some common command param parse functions; this file is less of a config and more of a requirement but you may wish to change how some behave; as such you need to be confident with lua but you edit this config file; use Commands.add_parse('name',function(input,player,reject) end) to add a parse; see ./expcore/commands.lua for more details
Commands-Parse-Roles Adds some parse functions that can be used with the role system
Permission-Groups Use this file to add new permission groups to the game; start with Permission_Groups.new_group('name'); then use either :allow_all() or :disallow_all() to set the default for non specified actions; then use :allow{} and :disallow{} to specify certain actions to allow/disallow
Pollution-Grading This controls how pollution is viewed on the map
Popup-Messages A combination of config settings for different popup values like chat and damage
Preset-Player-Colours Preset colours that players get when they join the server, if not in the list then will be given a random colour (which isnt disallowed)
Repair Config file for the repair command
Rockets This file controls what will show in each section of the rocket info gui
Roles This is the main config file for the role system; file includes defines for roles and role flags and default values
Science Config file for the science info gui
Scorched-Earth This file controls the placement/degrading of tiles as players build and walk
Spawn-Area Used to config the spawn generation settings yes there is alot here i know just ignore the long tables at the end (they were generated with a command)
Tasks Config file for the tasks gui
Warnings Config file for the warning system, this is very similar to reports but is for the use of moderators rather than normal users.
Warps This file contains all the different settings for the warp system and gui

Modules

control Please go to ./config if you want to change settings, each file is commented with what it does if it is not in ./config then you should not attempt to change it unless you know what you are doing all files which are loaded (including the config files) are present in ./config/file_loader.lua this file is the landing point for all scenarios please DO NOT edit directly, further comments are to aid development
utils.alien_evolution_progress info Original (javascript) version: https://hastebin.com/udakacavap.js Can be tested against: https://wiki.factorio.com/Enemies#Spawn_chances_by_evolution_factor
utils.core This file contains core utilities used by the redmew scenario.
utils.debug
utils.dump_env A small debugging tool that writes the contents of _ENV to a file when the game loads.
utils.event This Module allows for registering multiple handlers to the same event, overcoming the limitation of script.register.
utils.event_core Do not use this function, use Event.add instead as it has safety checks.
utils.math Takes two points and calculates the slope of a line
utils.recipe_locker A module to prevent recipes from being unlocked by research.
utils.state_machine This module provides a classical mealy/moore state machine.
utils.table Searches a table to remove a specific element without an index
utils.task Threading simulation module Task.sleep()
utils.timestamp source https://github.com/daurnimator/luatz/blob/master/luatz/timetable.lua edited down to just what is needed.

Topics

readme.md
license