mirror of
https://github.com/clusterio/clusterio.git
synced 2026-11-14 23:24:52 +09:00
Merge pull request #219 from Hornwitser/dev-notice
Add development warning
This commit is contained in:
3 files changed
+64
-8
No files matched your search
@@ -16,6 +16,13 @@ Or clone latest stable branch that has name format `x.y.z`
|
||||
|
||||
Discord for development/support/play: https://discord.gg/5XuDkje
|
||||
|
||||
## Important notice
|
||||
|
||||
This is the development branch for factorioClusterio 2.0 which is currently undergoing heavy
|
||||
restructuring and refactoring. Expect plugins and existing installations to frequenltly break when
|
||||
using this branch. If you don't want to be an alpha tester for 2.0 please use the stable
|
||||
[1.2.x branch](https://github.com/clusterio/factorioClusterio/tree/1.2.x).
|
||||
|
||||
### Ways to support me/the project:
|
||||
|
||||
* Contribute with code/documentation. Always nice to move the project forward
|
||||
|
||||
@@ -20,6 +20,13 @@ const stringUtils = require("lib/stringUtils.js");
|
||||
const configManager = require("lib/manager/configManager.js");
|
||||
const hashFile = require('lib/hash').hashFile;
|
||||
|
||||
console.warn(`
|
||||
+==========================================================+
|
||||
I WARNING: This is the development branch for the 2.0 I
|
||||
I version of clusterio. Expect things to break. I
|
||||
+==========================================================+
|
||||
`);
|
||||
|
||||
// argument parsing
|
||||
const args = require('minimist')(process.argv.slice(2));
|
||||
|
||||
|
||||
@@ -857,6 +857,29 @@ async function getPlugins(){
|
||||
return plugins;
|
||||
}
|
||||
|
||||
// Errror class for known errors occuring during startup
|
||||
class StartupError extends Error { }
|
||||
|
||||
/**
|
||||
* Calls listen on server capturing any errors that occurs
|
||||
* binding to the port.
|
||||
*/
|
||||
function listen(server, ...args) {
|
||||
return new Promise((resolve, reject) => {
|
||||
function wrapError(err) {
|
||||
reject(new StartupError(
|
||||
`Server listening failed: ${err.message}`
|
||||
));
|
||||
}
|
||||
|
||||
server.once('error', wrapError);
|
||||
server.listen(...args, () => {
|
||||
server.off('error', wrapError);
|
||||
resolve();
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
async function startServer() {
|
||||
// Set the process title, shows up as the title of the CMD window on windows
|
||||
// and as the process name in ps/top on linux.
|
||||
@@ -921,7 +944,7 @@ async function startServer() {
|
||||
// Only start listening for connections after all plugins have loaded
|
||||
if (httpPort) {
|
||||
let httpServer = require("http").Server(app);
|
||||
httpServer.listen(httpPort);
|
||||
await listen(httpServer, httpPort);
|
||||
console.log("Listening for HTTP on port %s...", httpServer.address().port);
|
||||
}
|
||||
|
||||
@@ -932,15 +955,16 @@ async function startServer() {
|
||||
privateKey = await fs.readFile(config.sslPrivKey);
|
||||
|
||||
} catch (err) {
|
||||
console.error(`Error loading ssl certificate: ${err.message}`);
|
||||
await shutdown()
|
||||
throw new StartupError(
|
||||
`Error loading ssl certificate: ${err.message}`
|
||||
);
|
||||
}
|
||||
|
||||
let httpsServer = require("https").createServer({
|
||||
key: privateKey,
|
||||
cert: certificate
|
||||
}, app)
|
||||
httpsServer.listen(httpsPort);
|
||||
await listen(httpsServer, httpsPort);
|
||||
console.log("Listening for HTTPS on port %s...", httpsServer.address().port);
|
||||
}
|
||||
}
|
||||
@@ -948,11 +972,29 @@ async function startServer() {
|
||||
module.exports = app;
|
||||
|
||||
if (module === require.main) {
|
||||
console.warn(`
|
||||
+==========================================================+
|
||||
I WARNING: This is the development branch for the 2.0 I
|
||||
I version of clusterio. Expect things to break. I
|
||||
+==========================================================+
|
||||
`
|
||||
);
|
||||
startServer().catch(err => {
|
||||
console.error(
|
||||
"Unexpected error occured while starting master, please report\n"+
|
||||
"it to https://github.com/clusterio/factorioClusterio/issues"
|
||||
);
|
||||
if (!(err instanceof StartupError)) {
|
||||
console.error(`
|
||||
+---------------------------------------------------------------+
|
||||
| Unexpected error occured while starting master, please report |
|
||||
| it to https://github.com/clusterio/factorioClusterio/issues |
|
||||
+---------------------------------------------------------------+`
|
||||
);
|
||||
} else {
|
||||
console.error(`
|
||||
+----------------------------------+
|
||||
| Unable to to start master server |
|
||||
+----------------------------------+`
|
||||
);
|
||||
}
|
||||
|
||||
console.error(err);
|
||||
return shutdown();
|
||||
});
|
||||
|
||||
Reference in new issue
Block a user