function rules($matchFile = '')
 {
     list(, , $system) = $this->fetchAndAssertConfig(_('setting game options'));
     $service = new \DedicatedManager\Services\MatchSettingsFileService();
     if ($matchFile) {
         list($gameInfos, $maps, $scriptSettings, $randomize) = $service->get($matchFile);
         $this->session->set('matchFile', $matchFile);
         $this->session->set('gameInfos', $gameInfos);
         $this->session->set('selected', $maps);
         $this->session->set('scriptSettings', $scriptSettings);
         $this->session->set('randomize', $randomize);
     } else {
         $gameInfos = new GameInfos();
         $scriptSettings = array();
     }
     $scriptService = new \DedicatedManager\Services\ScriptService();
     $scripts = $scriptService->getList($system->title);
     $scriptIds = array();
     $scriptsRules = array();
     foreach ($scripts as $script) {
         $scriptIds[$script] = uniqid('', true);
         $scriptsRules[$script] = $scriptService->getFileMatchRules($system->title, $script);
     }
     $gameInfos = $this->session->get('gameInfos', $gameInfos);
     if (($gameInfos->scriptName || $system->title) && $scriptSettings) {
         foreach ($scriptSettings as $scriptSetting) {
             $scriptsRules[$gameInfos->scriptName][$scriptSetting->name]->default = $scriptSetting->default;
         }
     }
     $this->response->matchFile = $matchFile;
     $this->response->settingsList = $service->getList();
     $this->response->gameInfos = $gameInfos;
     $this->response->scripts = $scripts;
     $this->response->scriptIds = $scriptIds;
     $this->response->scriptsRules = $scriptsRules;
     $this->response->title = $system->title;
     $header = \DedicatedManager\Helpers\Header::getInstance();
     $header->rightText = _('Back to server configuration');
     $header->rightIcon = 'back';
     $header->rightLink = $this->request->createLinkArgList('../config');
 }