157 Commits
Author SHA1 Message Date
Michał Łyszczek 1bdf23d960 master.js: fix missing response for /api/getID
According to rfc2616#section-6:

> After receiving and interpreting a request message, a server
> responds with an HTTP response message.

That response was missing for /api/getID which could lead to
EMFILE, because needle module was waiting indefiniately for
response from server. Since client sends /api/getID once every 10
seconds, this piles up, ultimately reaching ulimit for opened file
descriptors.

Signed-off-by: Michał Łyszczek <michal.lyszczek@bofc.pl>
2020-08-27 04:05:52 +02:00
Hornwitser e70cfe7abd Remove broken combinator signaling
Remove the buggy and unstable combinator signaling implementation.
2019-11-19 20:58:15 +01:00
Hornwitser 25eb5e5d76 Increase limit of Json payloads to master server
The default limit of 100kb to JSON payloads of bodyParser can be
exceeded when running modded games with researchSync.  Increase the
limit to 10mb as a bandaid to fix this issue.
2019-10-26 17:45:02 +02:00
Hornwitser 0c45e57732 Add authentication to socket.io server
Authenticate connections made to the socket.io server via a token query
parameter that's validated in a similar manner to the x-access-token for
HTTP requests.
2019-09-10 23:51:48 +02:00
Hornwitser ca0281ae58 Remove pointless micro-optimization
This saved 30ms of the startup on my machine.  Even if it saved a second
it's still pretty pointless as we're not depending on the master server
startup being super fast.
2019-08-07 10:18:14 +02:00
Godmave de2141ec50 make masterPlugins visible to other things again 2019-08-06 19:45:18 +02:00
Godmave ec0243d7cf #resolve merge conflict 2019-08-04 17:54:58 +02:00
Godmave f32624586b #resolve merge conflict 2019-08-04 17:51:09 +02:00
Godmave 6ea47cb6af Merge branch 'master' into master 2019-08-04 17:47:32 +02:00
Godmave a204163a6c #replace stray whitespaces with tabs again 2019-08-04 17:26:50 +02:00
Hornwitser f76c84c3f1 Move node_modules/_app/ into lib/ as a package (#190)
Move the contents of node_modules/_app into lib/ as there shouldn't be
any content in node_modules.  This directory is automatically managed
and pruned by npm.

Add lib/ as a local package in package.json, this allows scripts
everywhere to require it's content as "lib/path" instead of relying on
local paths.  This shadows the StdLib Node.js Bindings package, but I
could care less.

Change all requires with lib as a local path and _app to use just lib.
2019-08-04 15:52:36 +02:00
Godmave 6caef9bda9 #add some more compression
#add tailing of files to prevent lost data between factorio and clusterio
#move socketio connect to the bottom after the plugins are loaded to prevent plugins not getting the connection event
2019-08-04 15:45:17 +02:00
psihius 3338c439dd Empty meta fix for querying new slave check 2019-07-25 22:20:34 +02:00
psihius b956438d8d INVALID REQUEST is not a valid json key for a variable, end up being "undefined" 2019-07-25 22:08:33 +02:00
Master-Guy e2775adcc3 /api/rconPasswords fix & /api/slaves security fix (#179)
Fix for /api/slaves to not send rconPasswords
Fix for /api/rconPasswords to work properly and send partial information
2019-07-20 15:52:47 +02:00
Master-Guy d909b4aa47 Fix for /issues/177 (#178)
/api/editSlaveMeta: Removed unneeded rcon check
/api/getSlaveMeta: Removed useless password check
/api/checkMod: Added authenticate.middleware
/api/slaves: Renamed to /api/rconPasswords and changed to authenticate.middleware
/api/runCommand: Changed to authenticate.middleware
2019-07-20 14:33:54 +02:00
Master-Guy 49611a2062 /api/slaves POST (optimized) (#176)
* Adds a /api/slaves POST call that requires authentication. It also returns the rconPasswords, unlike the GET call.
2019-07-19 15:37:49 +03:00
MCRcortex 8672afe940 added res.sendStatus(200); to stop client errors throwing
according to the docs
"The methods on the response object (res) in the following table can send a response to the client, and terminate the request-response cycle. If none of these methods are called from a route handler, the client request will be left hanging."
Last sentence is the critical one.
Sending a status code 200 should fix the issue
2019-07-17 22:04:29 +10:00
TechnoStrife 93c210f0c7 Merge branch 'master' into spread_researching
# Conflicts:
#	sharedPlugins/researchSync/dumpResearch.lua
#	sharedPlugins/researchSync/index.js
2019-07-15 22:14:09 +03:00
TechnoStrife 4a0956d174 Fix a bug causing all slaves data gets cleared on master startup
Cherry-picked from fix-slaves-data-cleanup-on-startup
2019-07-15 11:39:11 +03:00
TechnoStrife 3b814eeea4 Fix a bug causing all slaves data gets cleared on master startup (#165) 2019-07-15 10:34:02 +02:00
axapaxa123 0fe5633926 Moved gauge creation, 0 items don't fail requests 2019-04-10 01:11:32 +02:00
axapaxa123 595b4e5ac9 Update master.js 2019-04-03 14:40:42 +02:00
Daniel Vestøl abf4b5d926 Updated freeplay script to 0.17 version 2019-03-31 17:56:34 +02:00
Daniel Vestøl 94d434c8ef Initial release of neural net based dole divider 2019-03-23 00:14:23 +01:00
Daniel Vestøl 56cf131c70 Moved most of /api/remove to its own file 2019-03-22 19:29:56 +01:00
Daniel Vestøl 103409b0cd Added setting disableFairItemDistribution to disable dole division factor 2019-02-18 19:49:49 +01:00
Daniel Vestøl 09f476ec40 Added support for 3625 Angels item icons 2019-01-31 14:34:02 +01:00
Daniel Vestøl 846853813a Added rcon tool and better prometheus monitoring for websockets 2019-01-05 14:35:43 +01:00
J-Lassauw dc9d8bf987 Added fetch mod meta functionality
Fixed bug in settings with new UI
Re-added mod nav options
2018-12-13 16:56:09 +00:00
Daniel Vestøl 2c6b8becd4 Added setting disableImportsOfEverythingExceptElectricity 2018-11-07 19:24:04 +01:00
Daniel Vestøl aaf4d8b6f1 Removed graphing functionality that utilized linvodb 2018-10-23 11:10:26 +02:00
Daniel Vestøl 8766529e5b Removed linvodb/leveldown dependency 2018-10-22 11:06:21 +02:00
Daniel Vestøl c4a2b50c08 Fixed some broken statistics 2018-10-17 21:50:32 +02:00
Daniel Vestøl 3f4309fab0 Added pushgateway for prometheus statistics 2018-10-12 23:28:10 +02:00
Daniel Vestøl 07b9d0a0f5 Fixed getMac spam in VMs, added log rotation 2018-08-23 10:04:19 +02:00
Daniel Vestøl 765146b559 Plugin loading now respects disabled plugins 2018-08-16 14:52:09 +02:00
Daniel Vestøl e71c183b48 Collet http performance statistics for plugins as well 2018-08-14 13:05:17 +02:00
Daniel Vestøl 5630f7f7f6 Rewrote master plugin loading 2018-08-10 17:17:19 +02:00
Daniel Vestøl 8518cd54c6 Introduce more tools for use by plugins 2018-08-10 15:50:46 +02:00
Daniel Vestøl 9461978a6e Reduced log spam 2018-07-30 13:30:03 +02:00
Daniel Vestøl d72a45cc66 Added autosaveInterval to the config.json.dist 2018-07-24 23:01:51 +02:00
Godmave d9638b58ea #add configurable items autosave (default 1 minute, config.autosaveInterval) 2018-07-23 19:16:53 +02:00
Daniel Vestøl 98131ee66e Very big changes to help custom config paths 2018-07-13 22:56:10 +02:00
Daniel Vestøl 6962324a45 Tried to fix path problem in the master db 2018-06-28 15:34:31 +02:00
Daniel Vestøl bf19001055 Fixed --config, is probably unstable on client.js 2018-06-24 16:48:08 +02:00
Daniel Vestøl 443e5dc286 Arguments: --port --masterPort --sslPort --config --rcon-port --rcon-password 2018-06-24 16:46:31 +02:00
Daniel Vestøl 010e5271ea Might have fixed bug related to mod uploads 2018-06-19 23:58:56 +02:00
Daniel Vestøl e4c276054b Don't spam internal errors when server is paused/shutting down 2018-06-13 20:59:39 +02:00
Daniel Vestøl b7f76bf451 resolves #90 - Added ups and gametick reporting to prometheus (/metrics) 2018-06-12 23:01:42 +02:00