diff --git a/nel/tools/build_gamedata/b3_shard_dev.py b/nel/tools/build_gamedata/b3_shard_dev.py index 21ba42aeb..3170a8619 100644 --- a/nel/tools/build_gamedata/b3_shard_dev.py +++ b/nel/tools/build_gamedata/b3_shard_dev.py @@ -69,12 +69,12 @@ for multiDir in InstallShardDataMultiDirectories: cfg.write(" \"" + ShardInstallDirectory + "/" + dstDir + "\",\n") cfg.write("};\n") cfg.write("StartCommands += {\n") -cfg.write(" // Don't launch AES on development shard for now\n") -cfg.write(" \"gw_aes.transportRemove aes_l3c\",\n") +cfg.write(" // \"gw_aes.transportRemove aes_l3c\",\n") cfg.write("};\n") cfg.write("NegFiltersWarning += {\n") cfg.write(" \"already inserted from\",\n") cfg.write("};\n") +cfg.write("// Allow player to stay connected to FS when services go down\n") cfg.write("DontNeedBackend = 1;\n") cfg.flush() cfg.close() diff --git a/ryzom/server/src/patchman_service/spt_server_patch_terminal.cpp b/ryzom/server/src/patchman_service/spt_server_patch_terminal.cpp index ee322d72f..41bc55ca5 100644 --- a/ryzom/server/src/patchman_service/spt_server_patch_terminal.cpp +++ b/ryzom/server/src/patchman_service/spt_server_patch_terminal.cpp @@ -799,10 +799,14 @@ NLMISC_CLASS_COMMAND_IMPL(CServerPatchTerminal, depDevCfg) vector appNames; CDeploymentConfiguration::getInstance().getAppNames(IService::getInstance()->getHostName(), "dev", appNames); -#if 1 std::map batches; std::map inis; -#endif + + CSString adminExecutorConfig; + adminExecutorConfig.readFromFile("..\\admin_install\\patchman\\admin_executor_service_default.dev.cfg"); + adminExecutorConfig+="\n\nShardName=\"dev\";\n"; + CSString aesRegisteredServices; + CSString aesAddRegisteredServices; for (uint i=0; i::iterator cfgNameIt = cfgMap.find(toLowerAscii(cfgName)); @@ -857,33 +868,14 @@ NLMISC_CLASS_COMMAND_IMPL(CServerPatchTerminal, depDevCfg) } else { -#if 0 // Nevrax layout, for reference - if (p == "-C.") - p = string("-C")+fullConfigPath; - else if (p == "-L." - || p == "--nobreak" - || p == "--writepid") - p = ""; -#else if (p == "--nobreak" || p == "--writepid") p = ""; -#endif } } CSString cmdLine; cmdLine.join(cmdParams, " "); -#if 0 // Nevrax layout, for reference - CSString batch; - batch << "cd \""<::iterator batchIt = batches.find(appDesc.ShardName); @@ -894,6 +886,8 @@ NLMISC_CLASS_COMMAND_IMPL(CServerPatchTerminal, depDevCfg) batch << DevExePrefix.get() << launchCmd << exeSuffix << " " << cmdLine << "\n"; batch << DevSleepCmd.get() << "\n"; batch << "\n"; + + // Write service dashboard config map::iterator iniIt = inis.find(appDesc.ShardName); if (iniIt == inis.end()) { @@ -914,7 +908,25 @@ NLMISC_CLASS_COMMAND_IMPL(CServerPatchTerminal, depDevCfg) ini << "LaunchCmd=" << launchCmd << "\n"; ini << "LaunchArgs=" << cmdLine << "\n"; ini << "\n"; -#endif + + if (launchCmd == "ryzom_admin_service") + { + // Also include the AES on this shard (we need one per domain per server) + + // Batch + batch << "cd \"" << DevWorkingDirectory.get() << "\"\n"; + batch << DevExePrefix.get() << "ryzom_admin_service" << exeSuffix << " -A. -C. -L. --fulladminname=admin_executor_service --shortadminname=AES\n"; + batch << DevSleepCmd.get() << "\n"; + batch << "\n"; + + // Service Dashboard + ini << "[aes_" << NLMISC::toLowerAscii(IService::getInstance()->getHostName()) << "]\n"; + ini << "Title=aes_" << NLMISC::toLowerAscii(IService::getInstance()->getHostName()) << "\n"; + ini << "ReadyPattern=^[^*].+Service Console\n"; + ini << "LaunchCmd=ryzom_admin_service\n"; + ini << "LaunchArgs=-A. -C. -L. --fulladminname=admin_executor_service --shortadminname=AES\n"; + ini << "\n"; + } } for (map::iterator it = batches.begin(), end = batches.end(); it != end; ++it) @@ -937,7 +949,16 @@ NLMISC_CLASS_COMMAND_IMPL(CServerPatchTerminal, depDevCfg) fclose(fp); } - // TODO: Development AES configuration + // append the registered service list to the aes config file contents + adminExecutorConfig << "\nRegisteredServices=\n{" << aesRegisteredServices << "\n};\n"; + adminExecutorConfig << "\nStartCommands += \n{\n" << aesAddRegisteredServices << "\n};\n"; + + // local config + adminExecutorConfig << "\nWindowStyle = \"WIN\";\n"; + adminExecutorConfig << "\nAESAliasName = \"aes_" + NLMISC::toLowerAscii(IService::getInstance()->getHostName()) + "\";\n"; + + // write the admin_executor_service.cfg file + adminExecutorConfig.writeToFileIfDifferent(DevConfigDirectory.get() + "\\admin_executor_service.cfg"); return true; }