// package mod_serv -- главный тип приложения, содержит бота, интерфейсы и т.п. package mod_serv import ( . "gitp78su.ipnodns.ru/svi/kern" . "gitp78su.ipnodns.ru/svi/kern/krn/ktypes" . "wartank/app/lev0/types" "wartank/app/lev3/farm_bots" "wartank/app/lev3/serv_web" "wartank/app/lev3/server_stat" ) // МодульСервер -- главный тип приложения type МодульСервер struct { IKernelModule ботоФерма *farm_bots.БотоФерма сервСтат ИСерверСтат лог ILogBuf } // НовМодСервер -- возвращает новый модуль сервера func НовМодСервер() *МодульСервер { лог := NewLogBuf() лог.Info("НовМодСервер()\n") сам := &МодульСервер{ IKernelModule: NewKernelModule("мод_сервер"), лог: лог, } конт := GetKernelCtx() конт.Set("мод_сервер", сам, "Модуль сервера WarBot") _ = GetKernelStoreKv() сам.ботоФерма = farm_bots.НовБотоФерма() сервВеб := serv_web.НовСервВеб() сам.Ctx().Set("сервВеб", сервВеб, "Веб-сервер модуля сервера") сам.сервСтат = server_stat.НовСерверСтат() сам.Ctx().Set("сервСтат", сам.сервСтат, "Статистика сервера") _ = ИПриложение(сам) return сам } // Пуск -- запускает сервер бота в работу func (сам *МодульСервер) Run() { сам.лог.Info("МодульСервер.Пуск()\n") } // Стат -- возвращает статистику сервера func (сам *МодульСервер) Стат() ИСерверСтат { return сам.сервСтат } // ServBots -- возвращает словарь ботов func (сам *МодульСервер) ServBots() ИБотоФерма { return сам.ботоФерма }