Code Monkey home page Code Monkey logo

scenario's Introduction

logo
Release Downloads Star Fork CodeFactor Discord

ExpGaming Scenario 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.

Use and Installation

  1. Download our git repository for the latest version. For a stable release you can download from our stable branch. See releases for other major releases.

  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 which will be loaded by the scenario. Comment out (or delete) lines for features you do not want. Be aware modules may load other modules as dependencies even when removed from the list.

  4. More advanced users can adjust other configs files within ./config but some files will require a basic understanding of lua.

  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-stable or scenario-dev under user scenarios.

  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 on our issues page.

Contributing

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.
  • Changes should be made on your own fork and merged into dev through a pull request.
  • Each pull request should be limited to one feature or a few bug fixes.
  • Pull requests are automatically checked for lint and documentation errors.
  • Pull requests are manually reviewed to maintain code and language quality.
  • New features should have the branch names: feature/feature-name
  • Bug fixes should have the branch names: fix/bug-name
  • Commits should have meaningful messages.

About our versioning and branch structure:

  • Versions track changes to the stable branch and are managed by organisation members.
  • Versions to not track changes on the dev branch which may contain some critical bugs.
  • Other branches may exist for alternative version of our scenario, these are not versioned.
  • Major releases contain significant changes to core modules.
  • Minor releases contain many new features and bug fixes.
  • Patch releases are only used for critical bugs.

Releases

Release* Release Name Factorio Version**
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 GNU General Public License v3.0

scenario's People

Contributors

arty714 avatar bbassie avatar canerakar avatar cooldude2606 avatar drahcpro avatar flbuddymooreiv avatar jca122204 avatar jesseywhite avatar jon8rfc avatar kevintayloruk avatar mark9064 avatar oof2win2 avatar phidias0303 avatar rewish497 avatar rytix avatar sakamakj avatar tovernaar123 avatar trumank avatar tuulipommi avatar valansch avatar windsinger1985 avatar zaanposni avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

scenario's Issues

V4.0 Bug Bash

  • Admin buttons in player list dont work
  • Report button is labled as admin commands
  • Reports aren't made
  • Sync not updating
  • Jail still clears inventory

Death Marker problems for Admins (maybe others)

Factorio version
Version number: 0.17.66

Scenario version
Version number: S3 2019-08-18

Bug description
When dying, admin body turns to "Character Corpse" and immediately respawns - there is no way to mark where you died and the corpse turns to generic orange and not your actual player color. If you're looking for your player color, you will fail to find your corpse.

Reproduction method
Steps to reproduce the behavior:

  1. Join
  2. Die
  3. Cry now that your populated armor is in an ocean of corpses in which you'll never find it.

Expected behavior
"Player died at HH:MM:SS" located on death coordinates

Core Gui _ENV Error

Error Message
Error: currently-playing/ExpCore/gui.lua:85: attempt to index upvalue '_ENV' (a nil value)

Known Causes
Know causes that will result in error:

  • Server.interface with a thread
  • After player death

To Reproduce (please give for each cause outlined above)
Steps to reproduce the behavior:

  • Server.interface with a thread
    1. Use Server.interface with second param as true
    2. Has caused error once before during testing
  • After player death
    1. Player died
    2. Error was created
    3. Not every death and not every player

Other information (please complete the following information):

  • OS: Windows, Linux
  • Factorio Version: 0.16.43

Additional context
Error does not appear to have a consitant time or event which causes it, functions stored in global table will be the cause but which function is unknown. Any help trying to resolve this is welcome.

GoTo on the right click user menu doesn't work!

Describe the bug
GoTo on the right click user menu doesn't work!

To Reproduce
Steps to reproduce the behavior:

  1. Open the 'Player list'
  2. Right Click on a 'player'
  3. Click on the 'GoTo' button
  4. Doesn't work

Expected behavior
TP your player to selected player.

Add /tp command back

The new teleport commands are overly complicated and require you to remember two separate commands.

please re-add the /tp command for power users mods so they can quickly simply teleport to other users

/tp from to

Death Marker here - then gone

Describe the bug
A clear and concise description of what the bug is.
When I die the marker is only there for a short time. It seems to be about 30 seconds. When trying to find your body it disappears before you can fight the biters away.

To Reproduce
Steps to reproduce the behavior:

  1. Get shanked by a biter
  2. Wait on the ground as a corps
  3. Get marked on the map as dead
  4. Go run/walk to your body
  5. marker disappears before you can get close

Expected behavior
A clear and concise description of what you expected to happen.

Marker should not go away that quick.

Screenshots
If applicable, add screenshots to help explain your problem.

Other information (please complete the following information):

  • OS: Windows
  • Factorio Version: 0.16.45

Additional context
Add any other context about the problem here.

Admin Permament Map Markers

Is your feature request related to a problem? Please describe.
When an admin makes a map marker it should be auto replaced if it is removed by a non-admin to make sure that admin notes and such remain on the map.

Describe the solution you'd like
When the tag is removed it is to be remade unless it was removed by an admin; this is done though saving the meesage in a global table that is then read from to reform the marker, similar to warp point markers.

Describe alternatives you've considered
There are no other alteratives to this feature.

Additional context
N/A

/me <action>

Creation of the command: /me <action>
Will print in chat (in the player's colour) a message with their name and the action.

Example:
/me tries to make good code.
Output (via game.print):
Cooldude2606 tries to make good code.

Spawn water

Feature overview
Name: spawn water
TL;DR: our spawn area should have at least 2 tiles of water on each side.

Details
A detailed description of what the new feature is.
Ideally make it so it may not be filled with landfill

Possible methods
Any ideas you have had about how to implement the feature or any problems that may arise. use the current system where we put concrete and just change tile type to water for two tiles on each side along the wall.

Additional context
Add any other context or screenshots about the feature request here.
Not really any additional context.

Warp name changer not working

lKTZ0HtDvy
Factorio version
Version number:0.17.61

Scenario version
Version number: V5.8

Bug description
Naming warps does not work. I believe something in 0.17.61 made it not work

Reproduction method
Steps to reproduce the behavior:

  1. Go to an ExpGaming server
  2. Make a warp
  3. Edit it and add a name
  4. Save button doesn't work

Expected behavior
For the name to be saved

Adaptive Pollution Ageing

Feature overview
Name: Adaptive Pollution Ageing
TL;DR: Scale game.map_settings.pollution.ageing from 1 to 10 based on game progress to alleviate the pathfinder and active entity counts for the server and all clients

Details
Bigger base = more pollution. More pollution = more pollution-biter interface. More angry biters = more active entities. At some point, you have obviously got enough resources and defenses to defend against any attack. So spawners do help provide a challenge during expansion, but the retaliation is nothing more than a UPS drain as you're waiting for unit groups to attack as the pathfinder can only handle so much routing. Thousands of groups could take a day or more to all attack and inevitably be vaporized.

Possible methods
Linearly interpolate ageing from 1 to 10 over rocket launches 1 to 1000. I.e. 0,1 rocket launches = pollution ageing 1, 1000 launches = pollution ageing 10.

Additional context
This doesn't make environmental or logical sense, but by the time you've launched 1000 rockets, the next step is to "clear the pollution cloud" which plainly put can't really happen in a multiplayer server on a week long reset, purely due to pollution. It's sad.

Rank changes over time when already have a higher rank

Factorio version
Version number: 0.17

Scenario version
Version number: 2019-06-06

Bug description
When you have any rank higher than regular, you will be demoted over time because the timer promotion does not check if your rank is higher than regular and automatically demotes you what would normally be a promotion for a guest.

Bug also happens when the timer for a regular would be promoted to a vet.

Reproduction method
Steps to reproduce the behavior:

  1. Have a rank higher than regular
  2. Wait the same time a guest has to for them to be promoted to regular.

Expected behavior
When you already have a higher rank, you should not be demoted.

Screenshots
https://i.imgur.com/QE15bC6.png

/repair doesn't place ghost entities

Describe the bug
When running /repair it doesn't place ghost entities.

To Reproduce
Steps to reproduce the behavior:

  1. Run command /repair
  2. Only entities get repaired

Expected behavior
Expected to place ghost entities.

Screenshots
http://i.imgur.com/k5ZmGAX.gif

Other information:

  • OS: Windows
  • Factorio Version: [e.g. 0.16.51]

Spelling error in reports

In the reports on discord (and maybe in game) the auto text has a spelling error:

Player
Jail
There was a player jailed.
Server Details
Server Name: S2 Online Players: 18 Mods Online: 1 Server Time: 5 H 2 M
Player:
xxxxxxxx
By:
xxxxxxxxxx
Reason:

please change it ๐Ÿ˜‰

Warning gui

Since some people seem to not see the warnings in chat and it a bit rough is to be emediatly kick for not watching chat.

A gui pop-up that will have the same message on as in chat but then with a 10 second count down so you can't clear it emediatly.

Toggle GUI command

Is your feature request related to a problem? Please describe.
You cannot see detailed info behind top buttons.

Describe the solution you'd like
A command (/toggle-gui) or some other way to hide GUI buttons obstructing detailed info text.

Additional context
If not for this version please think about it for the next modular version before its too hard to implement.

^Worse if higher rank but I'm a pleb.

Warp list

Describe the bug
Warps starting with [ don't showup in the list.

Donator Perk

When a donator joins the game display a message to all players; each player can have there own message and can be set up though the Sync module in comunication with the discord bot. Just another little extra that could be given the the $1 teir.

Command system error with quotes

Factorio version
Version number: 0.17.46

Scenario version
Version number: 5.6.0

Bug description
Command argmuent parse does not handle quotes correcly all the time; example given is using the role assign function with /interface

Reproduction method
Steps to reproduce the behavior:

  1. /interface Roles.assign_player("Cooldude2606",{"Senior Administrator","Moderator","Donator"})
  2. Result in log: Roles.assign_player(\"Cooldude2606\",{\"Senior_Administrator\",\"Moderator\",\"Donator\"})

Expected behavior
The command parse needs to be able to haddle quotes corectly and insert spaces back where they are required.

Warp name length

Describe the bug
Warp name length is not limited / bad UI design / responsiveness.

To Reproduce

  1. Create a warp with a really long name

Screenshots

After creating new server no admin

Describe the bug
A clear and concise description of what the bug is.

To Reproduce
Steps to reproduce the behavior:

  1. Start new server
    or
  2. Server reset automatically
  3. No admins or ranks
  4. no first person either

....

Can be fixed by server command (see discord)

Less than 0 items for advanced start

Factorio version
Version number: 0.17.66

Scenario version
Version number: 5.9.1

Bug description
Advanced start attempts to place an invalid amount of items into the players inventory.

Item stack count has to be a positive number
stack traceback:
    ...temp/currently-playing/modules/addons/advanced-start.lua:26: in function <...temp/currently-playing/modules/addons/advanced-start.lua:9>

Reproduction method
Steps to reproduce the behavior:

  1. Unsure, sometimes when a player joins this error is created even with check for count being greater than 0

Expected behavior
No items given rather than error.

Debug command

/interface
local items = require('config.advanced_start').items
for item,callback in pairs(items) do
  local stats = player.force.item_production_statistics
  local made = stats.get_input_count(item)
  local success,count = pcall(callback,made,stats.get_input_count,player)
  output(item..' '..count)
end

Members permissions default

Factorio version
Version number: 0.17*

Scenario version
Version number: 5.0

Bug description
Member should be able to edit queue for research.

Reproduction method
Steps to reproduce the behavior:

  1. Go to '...'
  2. Click on '....'
  3. Scroll down to '....'
  4. See error in log

Expected behavior
A clear and concise description of what you expected to happen.

Screenshots
If applicable, add screenshots to help explain your problem.

Additional context
Add any other context about the problem here.

/interface errors when called from rcon

[ERROR] command/interface :: ...ers/factorio-eu-01/temp/currently-playing/utils/game.lua:22: bad argument #-1 to '__index' (string expected, got nil)

Above error is caused when an rcon attempts to call /interface and appears to be because there is no player using the command and thus the error with game,get_player_by_index.

Added FF toggle to game settings GUI

Add a friendly fire toggle into the game settings gui so that admin can toggle friendly fire for they force without needing to use a command.

Custom Join Message

Feature overview
Name: Custom Join Message
TL;DR: When an admin, mod or donator joins a custom message will be printed to chat; this message can be requested by that player and added in the next patch.

Possible methods
Add this to the existing pre-set colours module that applies a custom colour to players when they join the game.

Paths being created when entities removed.

Is your feature request related to a problem? Please describe.
Paths are not good enough right now and can be better than their already are.

Describe the solution you'd like
When any large entity (3x3) is remove like an assembler or a beacon is removed there is a chance that the ground under it will become warn away and become dirt.

Describe alternatives you've considered
Non this is a note to self :D

Additional context
Paths are my favoutre feature makes it look so much more natural.

More Validation On Commands

Commands for /tp /go-to and /bring all need more validation on them to check for:

  • Player Online
  • Player Alive
  • Player Charecter Valid

I know that these are not strictly needed due to if the player is valid then the player has a position but it will be more useful in avoiding acidents.

Auto Station Names

Is your feature request related to a problem? Please describe.
Would be a nice idea to have stations automatically name them selfs based on the ores around them or proximity to certain entities like spawn or a semting array.

Describe the solution you'd like
This would enforce a set way of naimng stations being: [U/L/#-Ore/Pax] [Dir] <baker name>
Few examples:
[U-Fe] {NW-1} arty714
[L-Cu] {S-2} cooldude2606
[#-PAX] {W-1} mark9064

More warp stuff not working

Factorio version
Version number: 0.17.64

Scenario version
Version number: V5.9

Bug description
Discord_7bn1OIHMH1

Reproduction method
Steps to reproduce the behavior:

  1. Should say in Screenshot, I have no idea myself

Expected behavior
Warp stuff working properly ;)

Move Server info to Info GUI on join

Is your feature request related to a problem? Please describe.
Many people now ignore the gui for info/commands, and other stuff other stuff. It gets splashed with the new welcome gui. We have too many popups on join.

Describe the solution you'd like
I would like the server info on the info tab so we only have one pop up if possible. Also allows you to pull up the info again if you forget.

Describe alternatives you've considered
Making it its own tab on the help/info gui
Not changing it

Additional context
Add any other context or screenshots about the feature request here.

Clicking on a Gui element without Gui.define causes error

Factorio version
Version number: 0.18.15

Scenario version
Version number: dev branch

Bug description
Clicking on a Gui element without Gui.define causes error.

Reproduction method
Steps to reproduce the behavior:

  1. Clicking on a side gui item title element causes this error:
8272.578 Script @C:/Users/basti/AppData/Roaming/Factorio/temp/currently-playing/utils/event_core.lua:30: 
        ...actorio/temp/currently-playing/expcore/gui/prototype.lua:352: attempt to index local 'element_define' (a nil value)

Expected behavior
Script error to be handled correctly

Screenshots

naming a warp point 'name' will crash the game

Error Message
Error while running event level::on_tick(ID 0)
...Data/Roaming/Factorio/temp/currently-playing/control.lua:14:attempt to concatenate local 'err'/a table value)
Known Causes
Know causes that will result in error:

  • typing /make-warp name

To Reproduce (please give for each cause outlined above)
Steps to reproduce the behavior:

  • Cause 1
    1. Open a game that has the latest version of the script
    2. type /make-warp name

Other information (please complete the following information):

  • Windows, +whatever ExplosingGaming is running on
  • Factorio Version: [0.16.45]

Additional context
It has crashed one explosiveGaming server (s2) today (2018-05-26) while Gizan was playing.

I demoted BADGamerNL and CoolDude by mistake, then for science

Describe the bug
I can demote BADGamerNL

To Reproduce
Steps to reproduce the behavior:

  1. Go to and do the thing CoolDude knows how to do, then type the other thing he knows how to do.

Expected behavior
Mods can not demote cooldude and badgamer

Screenshots
If applicable, add screenshots to help explain your problem.

Other information (please complete the following information):

  • OS: Linux, but also on windows
  • Factorio Version: 0.16.51

Additional context
It was really fun and I want to try it again on arty, can you wait to fix it till V4?

MOAR LOGS

Feature overview
Name: Logs for mining/destroying entities
TL;DR: ^^

Details
A log for mods/admins showing that a player has mined an entity, can be useful when a player has griefed (eg removing water pumps for power)

Possible methods

Additional context
https://nvfs.se/ul/rI6rJ.gif Something like this

/unjail or promote from /jail does not log

Is your feature request related to a problem? Please describe.
It is confusing to follow the reports if the unjails or promotes from jail are not also logged in #reports

Describe the solution you'd like
Any promotion from [Jail] gets logged

Describe alternatives you've considered
I have considered being too lazy to write this request, I have also concidered that it may be hard to do without logging/reporting all promotions but I decided both of those were silly and I would write this up.

Additional context
Add any other context or screenshots about the feature request here.

2 chat commands not working

Factorio version
Version number: 0.17.53

Scenario version
Version number: V5.8

Bug description
rhd/lhd and redmew chat command responds with Unknown key

Reproduction method
Steps to reproduce the behavior:

  1. Launch Factorio
  2. Go onto an ExpGaming server or launch scenario in single player
  3. Type in rhd, lhd and redmew
  4. See error in log

Expected behavior
To respond with something like for lhd, "Trains Must be in LHD"

Additional context
Probably not high priority but thought I'd point it out

Escape should be abbreviated "Esc" and not "Ecs"

Describe the bug
A clear and concise description of what the bug is.

To Reproduce
Steps to reproduce the behavior:

  1. Go to '...'
  2. Click on '....'
  3. Scroll down to '....'
  4. See error

Expected behavior
A clear and concise description of what you expected to happen.

Screenshots
If applicable, add screenshots to help explain your problem.

Other information (please complete the following information):

  • OS: [e.g. iOS, Windows, Linux]
  • Factorio Version: [e.g. 0.16.30]

Additional context
Add any other context about the problem here.

The Warp CRUD code needs some optimization for long-running games

Warps.add_handler(function(force,warp_id)

This iteration causes the entire server to hang for multiple seconds on any warp CRUD methods once the player count has grown into the hundreds. I wish I could propose a solution but I'm not sure what one might be off the top of my head. I'm assuming every player's UI is their own UI so there is not some kind of shared UI that can be updated for all players to use.

rocket-info.lua attempt to call field 'destory_if_valid' (a nil value)

Factorio version
Version number: 0.16.64

Scenario version
Version number: 2019/08/13

Bug description

58287.854 Script @/home/buddy/factorio/factorio_experimental-0.17.56/factorio/temp/currently-playing/utils/event_core.lua:30: ...torio/temp/currently-playing/modules/gui/rocket-info.lua:367: attempt to call field 'destory_if_valid' (a nil value)

Reproduction method
Steps to reproduce the behavior:

  1. Connect to S3
  2. See error in log

Expected behavior
There's no real manifested problem - just logs in the error

Screenshots
See the log output from above

Additional context
Cooldude made me do it (submit the bug report)!

Verson 4 Bugs (2)

  • Spawn issue with tones of warps/labels is back in V4
  • Some really weird stuff with Dark's rank and a jail issue that was happening (see logs)
  • Dark's inventory got cleared somehow and we dont know why (Does Temp ban clear inventory?)
  • Can't kill a jailed player
  • Jailed players in cars/trains etc are unjailable
  • a few V3.6 items back as issues
    --- [ ] Warp sorts are case sensitive again
  • Spawn should be spawn once that is fixed for easy /home ing

Addons Warp System Nil Value

Error Message
Error: currently-playing/Addons/Guis/warp-system.lua:216: attempt to index a nil value

Known Causes
Know causes that will result in error:

  • Map Reset

To Reproduce (please give for each cause outlined above)
Steps to reproduce the behavior:

  • Map Reset
    1. Create a new map
    2. Can result in error message

Other information (please complete the following information):

  • OS: Windows, Linux
  • Factorio Version: 0.16.43

Additional context
Cause is not known and will only happen apon a map reset, however it is not consistant and will only some times happen, apears more often when testing via host scenario localy rather than on the deadicate machine. Any help trying to resolve this is welcome.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.