TrackManiaControl/ManiaControl.php

64 lines
1.8 KiB
PHP

<?php
/**
* ManiaControl Server Controller for ManiaPlanet Server
*
* @author ManiaControl Team <mail@maniacontrol.com>
* @copyright 2014-2020 ManiaControl Team
* @license http://www.gnu.org/licenses/ GNU General Public License, Version 3
*/
// Enable error reporting
error_reporting(E_ALL);
// Change MySQLi report to match with policy before PHP 8.1
mysqli_report(MYSQLI_REPORT_OFF);
// Run configuration
define('LOG_NAME_USE_DATE', true); // Use current date as suffix for log file name in logs folder
define('LOG_NAME_USE_PID', true); // Use current process id as suffix for log file name in logs folder
// Define base dir
define('MANIACONTROL_PATH', __DIR__ . DIRECTORY_SEPARATOR);
// Set process settings
ini_set('memory_limit', '128M');
if (!ini_get('date.timezone') && function_exists('date_default_timezone_set')) {
date_default_timezone_set('UTC');
}
// Make sure garbage collection is enabled
gc_enable();
// Listen process signals
if (extension_loaded('pcntl')) {
pcntl_async_signals(true);
}
// Register AutoLoader
require_once MANIACONTROL_PATH . 'core' . DIRECTORY_SEPARATOR . 'AutoLoader.php';
\ManiaControl\AutoLoader::register();
// Setup Logger
\ManiaControl\Logger::setup();
$devMode = \ManiaControl\Utils\CommandLineHelper::getParameter('-dev');
if($devMode === "true"){
define('DEV_MODE', true); // Development mode to not send error reports etc.
}else{
define('DEV_MODE', false); // Development mode to not send error reports etc.
}
if(DEV_MODE){
\ManiaControl\Logger::log('Starting ManiaControl with activated Development Mode...');
}else{
\ManiaControl\Logger::log('Starting ManiaControl...');
}
// Check requirements
\ManiaControl\Utils\SystemUtil::checkRequirements();
// Start ManiaControl
$maniaControl = new \ManiaControl\ManiaControl();
$maniaControl->run();