private static void start(ServerProperties serverProperties, MailProperties mailProperties,
SmsProperties smsProperties, GCMProperties gcmProperties,
TwitterProperties twitterProperties,
boolean restore) {
Holder holder = new Holder(serverProperties,
mailProperties, smsProperties, gcmProperties, twitterProperties,
restore);
BaseServer[] servers = new BaseServer[] {
new HardwareAndHttpAPIServer(holder),
new MobileAndHttpsServer(holder),
new MQTTHardwareServer(holder)
};
if (startServers(servers)) {
JobLauncher.start(holder, servers);
System.out.println();
System.out.println("Blynk Server " + JarUtil.getServerVersion() + " successfully started.");
String path = new File(System.getProperty("logs.folder")).getAbsolutePath().replace("/./", "/");
System.out.println("All server output is stored in folder '" + path + "' file.");
holder.sslContextHolder.generateInitialCertificates(holder.props);
createSuperUser(holder);
}
}