Hornwitser
f3d4cfdcf5
Add reference to Slave in Instance
...
Add a reference to the Slave that's running the given instance in order
for it to be able to access the slave config.
2020-05-26 14:04:25 +02:00
Hornwitser
f8597f500c
Remove license note for angels icons
...
Remove notice about license for the now removed modded angels icons.
2020-05-26 13:17:58 +02:00
Hornwitser
2b20c943bb
Merge pull request #296 from Hornwitser/item-export
...
Implement icon and locale export
Closes #290
2020-05-26 13:16:11 +02:00
Hornwitser
1bddea8cec
Remove Factorio icons
...
Remove no longer used Factorio icons.
2020-05-26 01:12:05 +02:00
Hornwitser
e2255ddb7c
Remove inclusion of 3625 Angels item icons
...
Remove obsolete inclusion of the 3625 Angels item icons added by
09f476e .
2020-05-26 01:12:05 +02:00
Hornwitser
453226f246
Implement locale trenslation of resource names
...
Translate the names of the resources using the exported Factorio locale.
2020-05-26 01:12:05 +02:00
Hornwitser
260f976fa3
Implement export of item icons and locale
...
Add mod and command for exporting the Factorio locale including mods,
and item icons assemled into a sprite sheet including mods.
2020-05-26 01:11:49 +02:00
Hornwitser
d1b851d890
Move clusterio_lib to lua/clusterio_lib
...
Move the library mod to lua/clusterio_lib and restructure build_mod.js
to handle additonal files as a property to info.js instead of being hard
coded.
2020-05-25 20:45:09 +02:00
Hornwitser
2e24d6c8ae
Merge pull request #295 from Hornwitser/fix-windows
...
Fix Windows stop logic
2020-05-25 17:58:54 +02:00
Hornwitser
203f2d2a14
Fix Windows stop logic
...
Handle the Factorio server not exiting when encountering an error on
Windows and fix the hang detection for .stop().
2020-05-21 18:06:20 +02:00
Hornwitser
87d14252fc
Merge pull request #294 from Hornwitser/plugin-track
...
Integrate plugins closer with connections
2020-05-12 14:23:04 +02:00
Hornwitser
3211fbe985
Notify master about instance status update
...
Send updates to the master server when the running status of instances
change and add onInstanceStatusChanged hook to master plugins.
2020-05-11 18:10:11 +02:00
Hornwitser
a8e29fdc56
Separate instance from config in master
...
Separate the instance object and the config that belongs to the instance
object in the instances db held in memory on the master.
2020-05-11 18:07:41 +02:00
Hornwitser
a194508f52
Filter plugin messages forwarded to links
...
Drop events forwarded to a slave or instance that does not have the
plugin the event is defined in. Reject requests for the same reason.
2020-05-11 18:04:03 +02:00
Hornwitser
ca2839594e
Timeout quikly when disconnecting existing slave
...
If a slave that is already connected attempts connecting the existing
connection for that slave is disconnected. The most common scenario for
this is that the existing connection is stale and the slave is
attempting to connect agan. However if the connection is stale then the
disconnection will take 15 minutes to time out and the slave will appear
unresponsive during this time. Fix this problem by setting the timeout
to 15 seconds before disconnecting the existing connection.
2020-05-09 16:36:33 +02:00
Hornwitser
1b427af5f0
Fix client send buffer not being sent on ready
...
Fix WebSocketClientConnector not sending the send buffer queued up
between starting the connection and the master server sending the ready
signal for it.
2020-05-09 16:34:46 +02:00
Hornwitser
04ee3d3f96
Fix WebSocketClientConnector lifecycle events
...
Fix drop being repeatedly emitted while reconnecting and close not being
emitted on connection timeout.
2020-05-09 16:28:07 +02:00
Hornwitser
c87538ca58
Handle connection being closed in slave
...
Listen for the close event and connect again if the connection was
closed from proper disconnect or initiate a shutdown if the connection
was unexpectedly closed. Unexpected closure happens from authentication
failure and if a connection fails to reconnect before the timeout.
2020-05-09 16:24:02 +02:00
Hornwitser
c35b6de70e
Notify on connection events
...
Implement notification to plugins for disconnect request, connect, drop,
and close. This allows plugins to properly handle slaves and the master
server shutting down without sending messages that will get lost.
2020-05-08 23:49:28 +02:00
Hornwitser
b8b8c44083
Fix onExit not being invoked if plugin load fails
...
Fix instance not properly exiting if an error occurs during the loading
of a plugin.
2020-05-08 18:15:17 +02:00
Hornwitser
1beffb1bfd
Fix crash on hartbeat on closing connection
...
Fix heartbeat incorrectly asserting it cannot be sent on a connection in
the closing state.
2020-05-08 18:09:48 +02:00
Hornwitser
b151dd8469
Fix documentation
...
Fix missing module declarations, broken lings, broken formating and
incorrect scopes in the documentation. For modules split over several
files it appears the only viable option is to use the memberof directive
on each documented member and only declare the index file as a module.
2020-05-08 17:28:06 +02:00
Hornwitser
7a9b6592e6
Handle disconnect in link integration test
...
Handle the prepareDisconnect request properly in the TestControl in
test/integration/link.js.
2020-05-07 13:23:11 +02:00
Hornwitser
5c1214ad38
Rename connected and dropped events
...
Rename the connector events connected and dropped to connect and drop
respectively to be consistent with common Node.js names for events like
close.
2020-05-07 12:36:43 +02:00
Hornwitser
1629eaf225
Track plugins loaded by master and slaves
...
Send a mapping of the plugins the master server has loaded to slaves
vice versa. Limit the plugins that may be loaded by instances to only
those that the master server has loaded.
2020-05-06 20:14:40 +02:00
Hornwitser
4060c75142
Merge pull request #293 from Hornwitser/alpha-bugfixes-2
...
Alpha bugfixes 2
2020-05-06 20:13:22 +02:00
Hornwitser
f3c13eab21
Simplify level logic
...
Simplify tech level logic according to TheAiBot's suggestion.
2020-05-06 19:49:33 +02:00
Hornwitser
e9fab3cc10
Fix level > max_level crash in research_sync
...
Fix crash when technologiy level stored on the master is greater than
the max_level for the technology in Factorio. This can happen with mods
that for example reduce the max_level from inifity to a finite level.
2020-04-24 15:27:30 +02:00
Hornwitser
446333f4aa
Fix stylesheet loaded from wrong location
...
Fix stylesheet path not taking into account the web_root config.
2020-04-24 15:26:52 +02:00
Hornwitser
f8817ecf0c
Merge pull request #292 from Hornwitser/alpha-bugfixes
...
Alpha bugfixes
2020-04-19 23:32:10 +02:00
Hornwitser
c601c53044
Fix typo in clusterctl.js
...
Fix SessionLost being refered to as a global instead of from the errors
module in clusterctl.js.
2020-04-19 18:24:43 +02:00
Hornwitser
3603b16901
Fix missing space in researched notification
...
Add space between the technology name and the level in the notification
for researched technologies.
2020-04-19 18:23:37 +02:00
Hornwitser
f4ca8366e2
Handle contributions to the next level of a technology
...
Fix research_sync sending out contribution events for the previous level
of a researched technology and sending finished events for the wrong
level when synchronizing technologies. Both of these issues are related
to failing to accunt for the unlocked level being one less than the
level stored when the researched property is false.
2020-04-19 18:20:28 +02:00
Hornwitser
b6585e6364
Fix reconnect giving up too early
...
Fix the reconnect logic giving immediately if a previous reconnection
had been made long prior to the connection being dropped again.
2020-04-18 23:37:50 +02:00
Hornwitser
d2fb33f8b9
Fix log spam by subspace_storage plugin
...
Fix log spam when the dole distribution method is used on
subspace_storage plugin. This was caused by a bogus if condition being
translated into a sensible but wrong one.
2020-04-18 23:37:50 +02:00
MyNameIsTrez
568cf81204
Edit docs/writing-plugins.md ( #287 )
...
Fix grammar, punctuation and spelling mistakes in
docs/writing-plugins.md.
2020-04-18 23:34:26 +02:00
Hornwitser
15ad64e356
Fix web icons ignoring web_root ( #291 )
...
Fix the URLs for the item icons in the web interface ignoring the
web_root config option.
[travis skip]
2020-04-17 17:46:17 +02:00
MyNameIsTrez
ef6441ca46
Edit docs/developing-for-clusterio.md ( #285 )
...
Fix grammar, punctuation and spelling mistakes in
docs/developing-for-clusterio.md.
2020-04-17 15:46:35 +02:00
Hornwitser
534408856c
Merge pull request #284 from Hornwitser/small-things-2
...
Small things 2
2020-04-11 02:04:59 +02:00
Hornwitser
430aa6d207
Disable heap and memory size tests
...
Disable the tests for the memory and heap size metrics as the travis
environment is apparently using 3x as much memory as locally.
2020-04-09 20:44:06 +02:00
Hornwitser
00d1d304d2
Fix integration test certificate path
...
Fix integration tests using the default certificate paths instead of
having them located in the dedicated test database directory. Also
increment key size to the minimum allowed of 1024.
2020-04-09 20:35:51 +02:00
Hornwitser
38c392ff6d
Fix kill logic of integration test
...
Test if the process variable exists before trying to call kill on it, as
in certain failure situations it is not set.
2020-04-09 20:08:04 +02:00
Hornwitser
4f463a8180
Reduce number of bits in generated test cert
...
Add config entry for the number of bits to use in the auto generate TLS
certificate for the master server and reduce it to 512 for the
integration test. This reduces the time needed to generate the
certificate in the integration test.
2020-04-09 20:02:29 +02:00
Hornwitser
2c855a5846
Add debug-dump-ws command
...
Add debug command to dump the WebSocket messages being sent and received
by the master server to aid in finding chatty events.
2020-04-09 19:50:01 +02:00
Hornwitser
61d92a6910
Rename master plugin onExit hook to onShutdown
...
Rename the onExit hook for master plugins to onShutdown to better
reflect when it is invoked.
2020-04-09 19:50:01 +02:00
Hornwitser
9507608e59
Rework disconnect logic for connectors
...
Rework the way disconnection at shutdown is done to properly close
the connections when the master server is shut down.
2020-04-09 19:50:01 +02:00
Hornwitser
47ea8f5477
Rename connection shutdown to prepare disconnect
...
Rename the shutdownConnection request to prepareDisconnect to better
reflect its actual purpose.
2020-04-09 16:17:38 +02:00
Hornwitser
e7d1039942
Link to writings plugins document in docs
...
Replace notice about in development plugin interface with a link to the
writing plugins document in the developing for clusterio document.
2020-04-09 16:17:38 +02:00
Hornwitser
fc04fd9ebc
Remove master branch warning
...
Remove warning of master branch being broken now that it's no longer
completely broken.
2020-04-09 16:17:38 +02:00
Hornwitser
3dc4bdaab6
Remove debug log
...
Remove debug log statement annoing events have been broadcast.
2020-04-09 16:17:38 +02:00