def valveMapInsert(path, mapName, game='css'): mapList = path + '/maplist.txt' mapCycle = path + '/mapcycle.txt' if game in ['cs16', 'cs16-old']: serverCfg = path + '/server.cfg' else: serverCfg = path + '/cfg/server.cfg' try: # Добавить карты в конфиги if game not in ['cs16', 'cs16-old']: if (addInfoToConfig(mapList, mapName) == True): xmlLog('Карта успешно добавлена в maplist.txt') else: xmlLog('Возникла ошибка при добавлении карты в maplist.txt', 'error') if (addInfoToConfig(mapCycle, mapName) == True): xmlLog('Карта успешно добавлена в mapcycle.txt') else: xmlLog('Возникла ошибка при добавлении карты в mapcycle.txt', 'error') if (addInfoToConfig(serverCfg, 'sv_downloadurl "http://fdl1.teamserver.ru/fastdl/%s/"' % game) == True): xmlLog('FastDL успешно прописан в server.cfg') else: xmlLog('Возникла ошибка при добавлении FastDL в server.cfg', 'error') return True except OSError, e: xmlLog("Не удалось установить карту из-за ошибки: " + e, 'error') return False
parser.add_option("-a", "--addon-path", action="store", type="string", dest="addonPath") parser.add_option("-p", "--steam-id", action="store", type="string", dest="steamId") parser.add_option("-g") parser.add_option("-m") (options, args) = parser.parse_args(args=None, values=None) serverPath = options.serverPath addonPath = options.addonPath steamId = options.steamId sourceModPath = serverPath + "/" + addonPath + "/addons/sourcemod" serverCfg = serverPath + "/" + addonPath + "/cfg/warmod/on_map_load.cfg" text = ''' // Запуск параметров для warmod extended exec warmod/warmod_extended.cfg''' addInfoToConfig(serverCfg, text) try: # Переместить старый Warmod if os.path.exists(sourceModPath + '/plugins/warmod.smx'): move(sourceModPath + '/plugins/warmod.smx', sourceModPath + '/plugins/disabled/warmod.smx') # Включить mapchooser if os.path.exists(sourceModPath + '/plugins/disabled/mapchooser.smx'): move(sourceModPath + '/plugins/disabled/mapchooser.smx', sourceModPath + '/plugins/mapchooser.smx') except OSError, e: print 'Возникла ошибка:', e
parser.add_option("-m") (options, args) = parser.parse_args(args=None, values=None) serverPath = options.serverPath addonPath = options.addonPath serverCfg = serverPath + "/" + addonPath + "/cfg/server.cfg" text = ''' // Включить античит DBlocker db_active 1 // Включить анти-speedhack db_anti_speedhack 1 // Включить анти-wallhack db_anti_wallhack 0 // This cvar enables the cvar checking system db_check_cvars 1 // Скрыть наличите DBLocker на сервере. Не показывать сообщения в чат и не отзываться на команды. // Все сообщения и действия будут писаться в DBlocker.log db_silent 0 // Показывать steamid подключающихся игроков в чат db_show_steamid_on_connect 1 ''' addInfoToConfig(serverCfg, text)
print # blank line, end of headers from optparse import OptionParser import os from common import addInfoToConfig parser = OptionParser() parser.add_option("-s", "--server-path", action="store", type="string", dest="serverPath") parser.add_option("-a", "--addon-path", action="store", type="string", dest="addonPath") parser.add_option("-p", "--steam-id", action="store", type="string", dest="steamId") parser.add_option("-g") parser.add_option("-m") (options, args) = parser.parse_args(args=None, values=None) serverPath = options.serverPath addonPath = options.addonPath steamId = options.steamId autoexecCfg = serverPath + "/" + addonPath + "/cfg/autoexec.cfg" maniClientsTxt = serverPath + "/" + addonPath + "/cfg/mani_admin_plugin/clients.txt" text = '''\nmattie_eventscripts 1 eventscripts_subdirectory events''' addInfoToConfig(autoexecCfg, text) if os.path.exists(maniClientsTxt): text = '''\n// Брать админов из ManiAdmin es_load examples/auth/mani_basic_auth''' addInfoToConfig(autoexecCfg, text)
autoexecCfg = serverPath + "/" + addonPath + "/cfg/autoexec.cfg" serverCfg = serverPath + "/" + addonPath + "/cfg/server.cfg" racesIni = serverPath + "/" + addonPath + "/addons/eventscripts/wcs/ini/races.ini" racesIniToAdd = serverPath + "/" + addonPath + "/addons/eventscripts/wcs/ini/races-holliday.ini" if os.path.exists(racesIniToAdd): if os.path.exists(racesIni): ini = open(racesIni, "a") newRaces = open(racesIniToAdd, "r") for line in newRaces: ini.write(line) ini.close() newRaces.close() else: os.rename(racesIniToAdd, racesIni) text = ''' es_load HOLLIDAY_WCS // HOLIDAY Race Pack ''' addInfoToConfig(autoexecCfg, text) text = ''' sv_downloadurl "http://fdl1.teamserver.ru/fastdl/css/" ''' addInfoToConfig(serverCfg, text)
but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. *********************************************** ''' print "Content-Type: text/html; charset=UTF-8" # HTML is following print # blank line, end of headers from optparse import OptionParser from common import addInfoToConfig parser = OptionParser() parser.add_option("-s", "--server-path", action="store", type="string", dest="serverPath") parser.add_option("-a", "--addon-path", action="store", type="string", dest="addonPath") parser.add_option("-p", "--steam-id", action="store", type="string", dest="steamId") parser.add_option("-g") parser.add_option("-m") (options, args) = parser.parse_args(args=None, values=None) serverPath = options.serverPath addonPath = options.addonPath steamId = options.steamId metamodIni = serverPath + "/" + addonPath + "/addons/metamod/plugins.ini" text = '''linux addons/dproto/dproto_i386.so''' addInfoToConfig(metamodIni, text)
parser.add_option("-s", "--server-path", action="store", type="string", dest="serverPath") parser.add_option("-a", "--addon-path", action="store", type="string", dest="addonPath") parser.add_option("-p", "--steam-id", action="store", type="string", dest="steamId") parser.add_option("-g") parser.add_option("-m") (options, args) = parser.parse_args(args=None, values=None) serverPath = options.serverPath addonPath = options.addonPath steamId = options.steamId autoexecCfg = serverPath + "/" + addonPath + "/cfg/autoexec.cfg" adminCfg = serverPath + "/" + addonPath + "/addons/eventscripts/wcs/data/es_WCSadmins_db.txt" text = '''\nes_load wcs // WarCraft Source Mod''' addInfoToConfig(autoexecCfg, text) text = '''"WCSadmins" { "%s" { "wcsadmin" "1" "wcsadmin_addadmins" "1" "wcsadmin_removeadmins" "1" "wcsadmin_editadmins" "1" "wcsadmin_settings" "1" "wcsadmin_givexp" "1" "wcsadmin_givelevels" "1" "wcsadmin_givecash" "1" "wcsadmin_resetrace" "1" "wcsadmin_resetplayer" "1"
parser.add_option("-g") parser.add_option("-m") (options, args) = parser.parse_args(args=None, values=None) serverPath = options.serverPath addonPath = options.addonPath serverCfg = serverPath + "/" + addonPath + "/addons/sourcemod/configs/adminmenu_cfgs.txt" text = ''' "cfg/apofig_1x1.cfg" "Apofig (CSPL) 1x1" // Запустить конфиг Apofig 1x1 "cfg/apofig_2x2.cfg" "Apofig (CSPL) 2x2" // Запустить конфиг Apofig 2x2 "cfg/apofig_5x5.cfg" "Apofig (CSPL) 5x5" // Запустить конфиг Apofig 5x5 "cfg/apofig_aim.cfg" "Apofig (CSPL) AIM" // Запустить конфиг Apofig AIM "cfg/apofig_awp.cfg" "Apofig (CSPL) AWP" // Запустить конфиг Apofig AWP ''' addInfoToConfig(serverCfg, text, 'Configs') serverCfg = serverPath + "/" + addonPath + "/cfg/mani_admin_plugin/rconlist.txt" text = ''' "Apofig (CSPL) 1x1" exec apofig_1x1.cfg // Запустить конфиг Apofig 1x1 "Apofig (CSPL) 2x2" exec apofig_2x2.cfg // Запустить конфиг Apofig 2x2 "Apofig (CSPL) 5x5" exec apofig_5x5.cfg // Запустить конфиг Apofig 5x5 "Apofig (CSPL) AIM" exec apofig_aim.cfg // Запустить конфиг Apofig AIM "Apofig (CSPL) AWP" exec apofig_awp.cfg // Запустить конфиг Apofig AWP ''' addInfoToConfig(serverCfg, text)
except OSError, e: print "Команда завершилась неудачей", e # Добавить админа if guid != 'none': text = ''' [%s] group = "admin" protected = 1 names = "" ''' % guid addInfoToConfig(adminConfig, text) # Установить правильные параметры лога text = ''' // включить запись лог-файла set logfile "1" // имя лог-файла set g_log "%s/games_mp.log" // 0=нет лога, 1=в буфер, 2=непрерывный, 3=добавлять set g_logsync "2" // вести лог по ущербу и попаданиям set sv_log_damage "1"
''' xmlLog('Попытка добавить админа в %s' % mod) if mod == 'sourcemod': if admType == 'steam': text = '"%s" "99:z"' % admStr elif admType == 'ip': text = '"!%s" "99:z"' % admStr elif admType == 'userPass': text = '%s "99:z"' % admStr # Для безопасности надо проверить наличие имени конфига в пути if re.search('admins_simple.ini', config): print '<log>' addInfoToConfig(config, text) print '/<log>' else: xmlLog('Указан некорректный конфиг', 'error') elif mod == 'amxmodx': if admType == 'steam': text = '"%s" "" "abcdefghijklmnopqrstu" "ce"' % admStr elif admType == 'ip': text = '"%s" "" "abcdefghijklmnopqrstu" "de"' % admStr elif admType == 'userPass': text = '%s "abcdefghijklmnopqrstu" "a"' % admStr if re.search('users.ini', config): print '<log>'
addonPath = options.addonPath guid = options.guid configTemp = "/images/scripts/servers_configs/cod/cod4/mods/promodlive211/modserver.cfg" config = serverPath + "/" + addonPath + "/mods/promodlive211/modserver.cfg" pbConfig = serverPath + "/pb/pbsvuser.cfg" # Сначала прописать админа if os.path.exists(configTemp): try: cfgTemp = open(configTemp, 'r') cfg = open(config, 'w') for line in cfgTemp: if guid.lower() != 'none' and re.match('set scr_admins', line): cfg.write('set scr_admins "' + guid + '"') else: cfg.write(line) cfgTemp.close() cfg.close() os.chmod(config, 0640) except OSError, e: print "Не удалось обновить конфиг из-за ошибки:", e text = ''' // Закомментируйте или удалите две строки ниже, если вы отключаете или удаляете Promod LIVE pb_sv_load stock_iwd_md5.cfg pb_sv_load promod_iwd_md5.cfg // match-server only ''' addInfoToConfig(pbConfig, text)