Core

Async Core Module - Async - An extention of task and token to allow a single require to register and run async functions.
Commands Core Module - Commands - Factorio command making module that makes commands with better parse and more modularity
Common Core Module - Common - Adds some commonly used functions used in many modules
Datastore Core Module - Datastore - A module used to store data in the global table with the option to have it sync to an external source.
External Core Module - External - A module used to make accessing externally set data easier.
Gui Core Module - Gui - Used to simplify gui creation using factory functions called element defines
Groups Core Module - Permission Groups - Permission group making for factorio so you never have to make one by hand again
PlayerData Core Module - PlayerData - A module used to store player data in a central datastore to minimize data requests and saves.
Roles Core Module - Roles - Factorio role system to manage custom permissions.

Control

Jail Control Module - Jail - Adds a way to jail players.
Production Control Module - Production - Common functions used to track production of items
Protection Control Module - Protection - Controls protected entities
Reports Control Module - Reports - Adds a way to report players and store report messages.
Rockets Control Module - Rockets - Stores rocket stats for each force.
Selection Control Module - Selection - Controls players who have a selection planner, mostly event handlers
Tasks Control Module - Tasks - Stores tasks for each force.
vlayer Control Module - vlayer - Adds a virtual layer to store power to save space.
Warnings Control Module - Warnings - Adds a way to give and remove warnings to players.
Warps Control Module - Warps - Stores warps for each force.

Addons

Advanced-Start Adds a better method of player starting items based on production levels.
afk-kick Kicks players when all players on the server are afk
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; as well 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
Deconlog Log certain actions into a file when events are triggered
Discord-Alerts Sends alert messages to our discord server when certain events are triggered
FAGC Allows the FAGC clientside bot to receive information about bans and unbans and propagate that information to other servers
Inventory-Clear Will move players items to spawn when they are banned or kicked, option to clear on leave
Lawnmower Addon Lawnmower - Adds a command that clean up biter corpse and nuclear hole
Logging Addon Logging
Nukeprotect Disable new players from having certain items in their inventory, most commonly nukes
Pollution-Grading Makes polution look much nice of the map, ie not one big red mess
protection-jail When a player triggers protection multiple times they are automatically jailed
report-jail When a player is reported, the player is automatically jailed if the combined playtime of the reporters exceeds the reported player
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
Tree-Decon Makes trees which are marked for decon "decay" quickly to allow faster building

Guis

Autofill Gui Module - Autofill - Adds a button to enable Autofill
Bonus Gui Module - Bonus
Landfill Gui Module - Landfill - Landfill blueprint
Module module inserter
Player-List Gui Module - Player List - Adds a player list to show names and play time; also includes action buttons which can preform actions to players
PlayerData module pd
Production Production Data
Readme Gui Module - Readme - Adds a main gui that contains lots of important information about our server
Research research gui
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
server-ups Gui Module - Server UPS - Adds a server ups counter in the top right and a command to toggle is
surveillance module surveillance
Task-List Gui Module - Task List - Adds a task list to the game which players can add, remove and edit items on
Virtual Gui Module - Virtual Layer - Adds a virtual layer to store power to save space.
Warps-List Gui Module - Warp List - Adds a warp list gui which allows players to add and remove warp points

Data

Alt-View Stores if you use alt mode or not and auto applies it
Bonus Commands Module - Bonus - Adds a command that allows players to have increased stats
Greetings Greets players on join
Language Stores the language used to join the server
Player-Colours Gives players random colours when they join, also applies preset colours to those who have them
Quickbar Commands Module - Quickbar - Adds a command that allows players to load Quickbar presets
Tag Commands Module - Tag - Adds a command that allows players to have a custom tag after their name

Commands

Admin-Chat Commands Module - Admin Chat - Adds a command that allows admins to talk in a private chat
Admin-Markers Commands Module - Admin Markers - Adds a command that creates map markers which can only be edited by admins
Artillery Commands Module - Artillery - Adds a command that help shot artillery
Bot Commands Module - Bot queue - Adds a command that allows changing bot queue
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
Connect Commands Module - Connect - Adds a commands that allows you to request a player move to another server
Debug Commands Module - Debug - Adds a command that opens the debug frame
Enemy Commands Module - Enemy - Adds a command of handling enemy
Find Commands Module - Find - Adds a command that zooms in on the given player
Toggle Commands Module - Toggle Friendly Fire - Adds a command that toggle all friendly fire
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 and unjail
Kill Commands Module - Kill - Adds a command that allows players to kill them selfs and others
LastLocation Commands Module - Last location - Adds a command that will return the last location of a player
Me Commands Module - Me - Adds a command that adds * around your message in the chat
Pollution Commands Module - Pollution Handle - Adds a command that allows modifying pollution
Protection Commands Module - Protection - Adds commands that can add and remove protection
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
InventorySearch Commands Module - Inventory Search - Adds commands that will search all players inventories for an item
Spawn Commands Module - Spawn - Adds a command that allows players to teleport to their spawn point
Spectate Commands Module - Spectate - Adds commands relating to spectate and follow
Set Commands Module - Set game speed - Adds a command that allows changing game speed
Clear Commands Module - Clear Item On Ground - Adds a command that clear item on ground so blueprint can deploy safely
Teleport Commands Module - Teleport - Adds a command that allows players to teleport to other players
Set Commands Module - Set Automatic Train - Adds a command that set all train back to automatic
Vlayer Adds a virtual layer to store power to save space.
Warnings Commands Module - Warnings - Adds a commands that allow admins to warn other players
Waterfill Adds a waterfill

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;
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
Deconlog This config controls whether actions such as deconning by players without sufficient permissions is logged or not
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 function; 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-Color-Parse This will make commands only work when a valid color from the presets has been selected
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
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
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
Roles This is the main config file for the role system; file includes defines for roles and role flags and default values
Autofill This file contains all the different settings for the autofill system and gui
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;
Rockets This file controls what will show in each section of the rocket info gui
Science Config file for the science info gui
Tasks Config file for the tasks gui
Warps This file contains all the different settings for the warp system and gui
inventory_clear Config to control when players items are removed, this is a list of event names that will trigger inventory clear
lawnmower Settings for lawnmower
logging Settings for logging
miner Settings for miner
Personal PL Settings
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)
Preset-Player-Quickbar Preset quickbar items that players can load
Repair Config file for the repair command
Research Res Settings
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)
Statistics A list of all tracked statistics and the events which trigger them
Vlayer Settings for vlayer including the allowed items, the update frequency, and some cheats
Warnings Config file for the warning system, this is very similar to reports but is for the use of moderators rather than normal users.

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
modules.addons.station-auto-name LuaPlayerBuiltEntityEventFilters Events.set_event_filter(defines.events.on_built_entity, {{filter = "name", name = "fast-inserter"}})
overrides.debug
overrides.math Takes two points and calculates the slope of a line
overrides.table Searches a table to remove a specific element without an index
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.task Threading simulation module Task.sleep()

Topics

README.md
LICENSE