Skip to content

Commit

Permalink
Merge branch 'release/6.2.0'
Browse files Browse the repository at this point in the history
  • Loading branch information
Cooldude2606 committed May 10, 2021
2 parents c29e68c + 5d42fff commit 67fbac4
Show file tree
Hide file tree
Showing 170 changed files with 13,359 additions and 2,219 deletions.
84 changes: 45 additions & 39 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,63 +24,66 @@

## Explosive Gaming

Explosive Gaming (often ExpGaming) is a server hosting community with a strong focus on Factorio and games that follow similar ideas. Our Factorio server are known for hosting large maps with the main goal of being a "mega base" which can produce as much as possible within our reset schedule. Although these servers tend to attract the more experienced players, our servers are open to everyone. You can find us through our [website], [discord], [wiki], or in the public games tab in Factorio (ExpGaming S1, ExpGaming S2, etc.).
Explosive Gaming (often ExpGaming) is a server hosting community with a strong focus on [Factorio](factorio) and games with similar themes. We are best known for our weekly reset Factorio server with a vanilla+ scenario. 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.

## Use and Installation

1) Download this [git repository](https://github.com/explosivegaming/scenario/archive/master.zip) for the stable release. The dev branch can be found [here](https://github.com/explosivegaming/scenario/archive/dev.zip) for those who want the latest features. See [releases](#releases) for other release branches.
1) Download our [git repository](stable-dl) for the stable release. For the latest features you can download our [dev branch](experimental-dl). See [releases](#releases) for other major releases.

2) Extract the downloaded zip file from the branch you downloaded into Factorio's scenario directory:
2) Extract the downloaded zip file into your Factorio scenario directory:
* Windows: `%appdata%\Factorio\scenarios`
* Linux: `~/.factorio/scenarios`

3) Within the scenario you can find `./config/_file_loader.lua` which contains a list of all the modules that will be loaded by the scenario; simply comment out (or remove) features you do not want but note that some modules may load other modules as dependencies even when removed from the list.
3) Within the scenario you can find `./config/_file_loader.lua` which contains a list of all the modules which will be loaded by the scenario. Comment out (or remove) features you do not want. Be aware modules may load other modules as dependencies even when removed from the list.

4) More advanced users may want to play with the other configs files within `./config` but please be aware that some of the config files will require a basic understanding of lua while others may just be a list of values.
4) More advanced users can adjust other configs files within `./config` but please be aware some files will require a basic understanding of lua.

5) Once you have made any config changes that you wish to make open Factorio, select play, then start scenario (or host scenario from within multiplayer tab), and select the scenario which will be called `scenario-master` if you have downloaded the latest stable release and have not changed the folder name.
5) Once you have made your config changes: open Factorio, select either single or multiplayer, select (host) new game, and finally select our scenario which will be called `scenario-master` or `scenario-dev` under user scenarios.

6) The scenario will now load all the selected modules and start the map, any errors or exceptions raised in the scenario should not cause a game/server crash, so if any features do not work as expected then it may be returning an error in the log.
Please report these errors to [the issues page](issues).
6) You will now be asked to generate your map and the scenario will load all selected modules. If any module does not load as expected please check `factorio-current.log` in your Factorio directory for errors and report them to our [issues page](issues).

## Contributing

All are welcome to make pull requests and issues for this scenario, if you are in any doubt, please ask someone in our [discord]. If you do not know lua and don't feel like learning you can always make a [feature request]. To find out what we already have please read our [docs]. Please keep in mind while making code changes:
All are welcome to make bug reports, feature requests, and pull requests for our scenario. We do not require you to have any lua or coding knowledge to make bug reports and feature requests. If you have any questions ask us in our [discord].

For developers wanting to add features please follow these guidelines:

* All code is documented using ldoc, the end result can be found [here](docs).
* Changes should be made on your own fork and merged into `dev` through a pull request.
* Pull requests are automatically linted and documentation checked.
* Pull requests are manually reviewed to maintain code and language quality.
* New features should have the branch names: `feature/feature-name`
* New features are merged into `dev` after it has been completed, this can be done through a pull request.
* After a number of features have been added a release branch is made: `release/X.Y.0`
* Bug fixes and localization can be made to the release branch with a pull request rather than into dev.
* A release is merged into `master` on the following friday after it is considered stable.
* Patches may be named `patch/X.Y.Z` and will be merged into `dev` and then `master` when appropriate.
* Bug fixes should have the branch names: `fix/bug-name`

## Releases

| Scenario Version* | Version Name | Factorio Version** |
| Release* | Release Name | Factorio Version** |
|---|---|---|
| [v6.1][s6.1] | External Data Overhaul | [v1.0.0][f1.0.0] |
| [v6.0][s6.0] | Gui / 0.18 Overhaul | [v0.18.17][f0.18.17] |
| [v5.10][s5.10] | Data Store Rewrite | [v0.17.71][f0.17.71] |
| [v5.9][s5.9] | Control Modules and Documentation | [v0.17.63][f0.17.63] |
| [v5.8][s5.8] | Home and Chat Bot | [v0.17.47][f0.17.49] |
| [v5.7][s5.7] | Warp System | [v0.17.47][f0.17.47] |
| [v5.6][s5.6] | Information Guis | [v0.17.44][f0.17.44] |
| [v5.5][s5.5] | Gui System | [v0.17.43][f0.17.43] |
| [v5.4][s5.4] | Admin Controls | [v0.17.32][f0.17.32] |
| [v5.3][s5.3] | Custom Roles | [v0.17.28][f0.17.28] |
| [v5.2][s5.2] | Quality of life | [v0.17.22][f0.17.22] |
| [v5.1][s5.1] | Permission Groups | [v0.17.13][f0.17.13] |
| [v5.0][s5.0] | 0.17 Overhaul| [v0.17][f0.17.9] |
| [v4.0][s4.0] | Softmod Manager | [v0.16.51][f0.16.51] |
| [v3.0][s3.0] | 0.16 Overhaul | [v0.16][f0.16] |
| [v2.0][s2.0] | Localization and clean up | [v0.15][f0.15] |
| [v1.0][s1.0] | Modulation | [v0.15][f0.15] |
| [v0.1][s0.1] | First Tracked Version | [v0.14][f0.14] |

\* Scenario patch versions have been omitted.

\*\* Factorio versions show the version they were made for, often the minimum requirement.

| [6.2][s6.2] | Mega Feature Bundle | [1.1.32][f1.1.32] |
| [6.1][s6.1] | External Data Overhaul | [1.0.0][f1.0.0] |
| [6.0][s6.0] | Gui / 0.18 Overhaul | [0.18.17][f0.18.17] |
| [5.10][s5.10] | Data Store Rewrite | [0.17.71][f0.17.71] |
| [5.9][s5.9] | Control Modules and Documentation | [0.17.63][f0.17.63] |
| [5.8][s5.8] | Home and Chat Bot | [0.17.47][f0.17.49] |
| [5.7][s5.7] | Warp System | [0.17.47][f0.17.47] |
| [5.6][s5.6] | Information Guis | [0.17.44][f0.17.44] |
| [5.5][s5.5] | Gui System | [0.17.43][f0.17.43] |
| [5.4][s5.4] | Admin Controls | [0.17.32][f0.17.32] |
| [5.3][s5.3] | Custom Roles | [0.17.28][f0.17.28] |
| [5.2][s5.2] | Quality of life | [0.17.22][f0.17.22] |
| [5.1][s5.1] | Permission Groups | [0.17.13][f0.17.13] |
| [5.0][s5.0] | 0.17 Overhaul| [0.17][f0.17.9] |
| [4.0][s4.0] | Softmod Manager | [0.16.51][f0.16.51] |
| [3.0][s3.0] | 0.16 Overhaul | [0.16][f0.16] |
| [2.0][s2.0] | Localization and clean up | [0.15][f0.15] |
| [1.0][s1.0] | Modulation | [0.15][f0.15] |
| [0.1][s0.1] | First Tracked Version | [0.14][f0.14] |

\* Scenario patch releases have been omitted and can be found [here](https://github.com/explosivegaming/scenario/releases).

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

[s6.2]: https://github.com/explosivegaming/scenario/releases/tag/6.2.0
[s6.1]: https://github.com/explosivegaming/scenario/releases/tag/6.1.0
[s6.0]: https://github.com/explosivegaming/scenario/releases/tag/6.0.0
[s5.10]: https://github.com/explosivegaming/scenario/releases/tag/5.10.0
Expand All @@ -100,6 +103,7 @@ All are welcome to make pull requests and issues for this scenario, if you are i
[s1.0]: https://github.com/explosivegaming/scenario/releases/tag/v1.0
[s0.1]: https://github.com/explosivegaming/scenario/releases/tag/v0.1

[f1.1.32]: https://wiki.factorio.com/Version_history/1.1.0#1.1.32
[f1.0.0]: https://wiki.factorio.com/Version_history/1.0.0#1.0.0
[f0.18.17]: https://wiki.factorio.com/Version_history/0.18.0#0.18.17
[f0.17.71]: https://wiki.factorio.com/Version_history/0.17.0#0.17.71
Expand All @@ -122,8 +126,10 @@ All are welcome to make pull requests and issues for this scenario, if you are i

The Explosive Gaming codebase is licensed under the [GNU General Public License v3.0](LICENSE)

[stable-dl]: https://github.com/explosivegaming/scenario/archive/master.zip
[experimental-dl]: https://github.com/explosivegaming/scenario/archive/dev.zip
[factorio]: https://factorio.com/
[docs]: https://explosivegaming.github.io/scenario/
[issues]: https://github.com/explosivegaming/scenario/issues/new/choose
[website]: https://explosivegaming.nl
[discord]: https://discord.explosivegaming.nl
[wiki]: https://wiki.explosivegaming.nl
9 changes: 9 additions & 0 deletions config/_file_loader.lua
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ return {
'modules.commands.me',
'modules.commands.kill',
'modules.commands.admin-chat',
'modules.commands.admin-markers',
'modules.commands.teleport',
'modules.commands.cheat-mode',
'modules.commands.ratio',
Expand All @@ -28,6 +29,10 @@ return {
'modules.commands.find',
'modules.commands.home',
'modules.commands.connect',
'modules.commands.last-location',
'modules.commands.protection',
'modules.commands.spectate',
'modules.commands.search',

--- Addons
'modules.addons.chat-popups',
Expand All @@ -42,6 +47,9 @@ return {
'modules.addons.discord-alerts',
'modules.addons.chat-reply',
'modules.addons.tree-decon',
'modules.addons.afk-kick',
'modules.addons.report-jail',
'modules.addons.protection-jail',

--- Data
'modules.data.statistics',
Expand All @@ -56,6 +64,7 @@ return {
'modules.gui.readme',
'modules.gui.rocket-info',
'modules.gui.science-info',
'modules.gui.autofill',
'modules.gui.warp-list',
'modules.gui.task-list',
'modules.gui.player-list',
Expand Down
9 changes: 9 additions & 0 deletions config/afk_kick.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
return {
admin_as_active = true, --- @setting admin_as_active When true admins will be treated as active regardless of afk time
trust_as_active = true, --- @setting trust_as_active When true trusted players (by playtime) will be treated as active regardless of afk time
active_role = 'Veteran', --- @setting active_role When not nil a player with this role will be treated as active regardless of afk time
afk_time = 3600*10, --- @setting afk_time The time in ticks that must pass for a player to be considered afk
kick_time = 3600*30, --- @setting kick_time The time in ticks that must pass without any active players for all players to be kicked
trust_time = 3600*60*10, --- @setting trust_time The time in ticks that a player must be online for to count as trusted
update_time = 3600*30, --- @setting update_time How often in ticks the script checks for active players
}
1 change: 0 additions & 1 deletion config/chat_reply.lua
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@ return {
['discord'] = {'info.discord'},
['expgaming'] = {'info.website'},
['website'] = {'info.website'},
['wiki'] = {'info.wiki'},
['status'] = {'info.status'},
['github'] = {'info.github'},
['patreon'] = {'info.patreon'},
Expand Down
2 changes: 0 additions & 2 deletions config/compilatron.lua
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,7 @@ return {
{'info.read-readme'},
{'info.discord'},
{'info.softmod'},
{'info.wiki'},
{'info.redmew'},
{'info.feedback'},
{'info.custom-commands'},
{'info.status'},
{'info.lhd'},
Expand Down
4 changes: 3 additions & 1 deletion config/death_logger.lua
Original file line number Diff line number Diff line change
Expand Up @@ -10,5 +10,7 @@ return {
auto_collect_bodies=true, --- @setting auto_collect_bodies enables items being returned to the spawn point in chests upon corpse expiring
show_map_markers=true, --- @setting show_map_markers shows markers on the map where bodies are
include_time_of_death=true, --- @setting include_time_of_death weather to include the time of death on the map marker
map_icon=nil --- @setting map_icon the icon that the map marker shows; nil means no icon; format as a SingleID
map_icon=nil, --- @setting map_icon the icon that the map marker shows; nil means no icon; format as a SingleID
show_light_at_corpse=true, --- @setting show_light_at_corpse if a light should be rendered at the corpse
show_line_to_corpse=true --- @setting show_line_to_corpse if a line should be rendered from you to your corpse
}
3 changes: 2 additions & 1 deletion config/discord_alerts.lua
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,15 @@
-- @config Discord-Alerts

return {
show_playtime=true,
entity_protection=true,
player_reports=true,
player_warnings=true,
player_bans=true,
player_mutes=true,
player_kicks=true,
player_promotes=false,
player_jail=true,
player_temp_ban=true,
['config']=true,
['purge']=true,
['c']=true,
Expand Down
15 changes: 15 additions & 0 deletions config/expcore/command_color_parse.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
--- This will make commands only work when a valid color from the presets has been selected
-- @config Commands-Color-Parse

local Commands = require 'expcore.commands' --- @dep expcore.commands
local Colours = require 'utils.color_presets' --- @dep utils.color_presets

Commands.add_parse('color',function(input, _, reject)
if not input then return end
local color = Colours[input]
if not color then
return reject{'expcore-commands.reject-color'}
else
return input
end
end)
23 changes: 18 additions & 5 deletions config/expcore/roles.lua
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ end)

--- Admin Roles
Roles.new_role('System','SYS')
:set_permission_group('Admin')
:set_permission_group('Default', true)
:set_flag('is_admin')
:set_flag('is_spectator')
:set_flag('report-immune')
Expand Down Expand Up @@ -71,7 +71,6 @@ Roles.new_role('Moderator','Mod')
'command/go-to-spawn/always',
'command/clear-reports',
'command/clear-warnings',
'command/clear-temp-ban',
'command/clear-inventory',
'command/bonus',
'command/home',
Expand All @@ -93,17 +92,25 @@ Roles.new_role('Trainee','TrMod')
:set_parent('Veteran')
:allow{
'command/admin-chat',
'command/admin-marker',
'command/teleport',
'command/bring',
'command/goto',
'command/temp-ban',
'command/give-warning',
'command/get-warnings',
'command/get-reports',
'command/protect-entity',
'command/protect-area',
'command/jail',
'command/unjail',
'command/kick',
'command/ban',
'command/spectate',
'command/follow',
'command/search',
'command/search-amount',
'command/search-recent',
'command/search-online',
}

--- Trusted Roles
Expand All @@ -117,6 +124,8 @@ Roles.new_role('Board Member','Board')
:allow{
'command/goto',
'command/repair',
'command/spectate',
'command/follow',
}

Roles.new_role('Senior Backer','Backer')
Expand Down Expand Up @@ -153,9 +162,11 @@ Roles.new_role('Supporter','Sup')
:set_flag('is_spectator')
:set_parent('Veteran')
:allow{
'command/tag-color',
'command/jail',
'command/unjail',
'command/join-message'
'command/join-message',
'command/join-message-clear'
}

Roles.new_role('Partner','Part')
Expand All @@ -175,6 +186,7 @@ Roles.new_role('Veteran','Vet')
:set_parent('Member')
:allow{
'command/chat-bot',
'command/last-location'
}
:set_auto_assign_condition(function(player)
if player.online_time >= hours10 then
Expand Down Expand Up @@ -209,7 +221,8 @@ Roles.new_role('Regular','Reg')
'command/rainbow',
'command/go-to-spawn',
'command/me',
'standard-decon'
'standard-decon',
'bypass-entity-protection'
}
:set_auto_assign_condition(function(player)
if player.online_time >= hours3 then
Expand Down
Loading

0 comments on commit 67fbac4

Please sign in to comment.