SYMBOL INDEX (620 symbols across 93 files) FILE: .claude/skills/skill-creator/eval-viewer/generate_review.py function get_mime_type (line 52) | def get_mime_type(path: Path) -> str: function find_runs (line 60) | def find_runs(workspace: Path) -> list[dict]: function _find_runs_recursive (line 68) | def _find_runs_recursive(root: Path, current: Path, runs: list[dict]) ->... function build_run (line 85) | def build_run(root: Path, run_dir: Path) -> dict | None: function embed_file (line 149) | def embed_file(path: Path) -> dict: function load_previous_iteration (line 213) | def load_previous_iteration(workspace: Path) -> dict[str, dict]: function generate_html (line 250) | def generate_html( function _kill_port (line 288) | def _kill_port(port: int) -> None: class ReviewHandler (line 308) | class ReviewHandler(BaseHTTPRequestHandler): method __init__ (line 315) | def __init__( method do_GET (line 332) | def do_GET(self) -> None: method do_POST (line 361) | def do_POST(self) -> None: method log_message (line 382) | def log_message(self, format: str, *args: object) -> None: function main (line 387) | def main() -> None: FILE: .claude/skills/skill-creator/scripts/aggregate_benchmark.py function calculate_stats (line 45) | def calculate_stats(values: list[float]) -> dict: function load_run_results (line 67) | def load_run_results(benchmark_dir: Path) -> dict: function aggregate_results (line 176) | def aggregate_results(results: dict) -> dict: function generate_benchmark (line 227) | def generate_benchmark(benchmark_dir: Path, skill_name: str = "", skill_... function generate_markdown (line 281) | def generate_markdown(benchmark: dict) -> str: function main (line 338) | def main(): FILE: .claude/skills/skill-creator/scripts/generate_report.py function generate_html (line 16) | def generate_html(data: dict, auto_refresh: bool = False, skill_name: st... function main (line 304) | def main(): FILE: .claude/skills/skill-creator/scripts/improve_description.py function improve_description (line 19) | def improve_description( function main (line 193) | def main(): FILE: .claude/skills/skill-creator/scripts/package_skill.py function should_exclude (line 27) | def should_exclude(rel_path: Path) -> bool: function package_skill (line 42) | def package_skill(skill_path, output_dir=None): function main (line 111) | def main(): FILE: .claude/skills/skill-creator/scripts/quick_validate.py function validate_skill (line 12) | def validate_skill(skill_path): FILE: .claude/skills/skill-creator/scripts/run_eval.py function find_project_root (line 22) | def find_project_root() -> Path: function run_single_query (line 35) | def run_single_query( function run_eval (line 184) | def run_eval( function main (line 259) | def main(): FILE: .claude/skills/skill-creator/scripts/run_loop.py function split_eval_set (line 26) | def split_eval_set(eval_set: list[dict], holdout: float, seed: int = 42)... function run_loop (line 49) | def run_loop( function main (line 248) | def main(): FILE: .claude/skills/skill-creator/scripts/utils.py function parse_skill_md (line 7) | def parse_skill_md(skill_path: Path) -> tuple[str, str, str]: FILE: cmd/server/main.go function main (line 28) | func main() { FILE: docs/docs.go constant docTemplate (line 6) | docTemplate = `{ function init (line 2596) | func init() { FILE: internal/api/handler/backup_handler.go type BackupHandler (line 16) | type BackupHandler struct method RegisterRoute (line 26) | func (h *BackupHandler) RegisterRoute(router *gin.RouterGroup) { method DeleteBackup (line 48) | func (h *BackupHandler) DeleteBackup(ctx *gin.Context) { method DownloadBackup (line 72) | func (h *BackupHandler) DownloadBackup(ctx *gin.Context) { method GetBackupList (line 84) | func (h *BackupHandler) GetBackupList(ctx *gin.Context) { method RenameBackup (line 102) | func (h *BackupHandler) RenameBackup(ctx *gin.Context) { method RestoreBackup (line 129) | func (h *BackupHandler) RestoreBackup(ctx *gin.Context) { method UploadBackup (line 149) | func (h *BackupHandler) UploadBackup(ctx *gin.Context) { method CreateBackup (line 169) | func (h *BackupHandler) CreateBackup(ctx *gin.Context) { method SaveBackupSnapshotsSetting (line 195) | func (h *BackupHandler) SaveBackupSnapshotsSetting(ctx *gin.Context) { method GetBackupSnapshotsSetting (line 228) | func (h *BackupHandler) GetBackupSnapshotsSetting(ctx *gin.Context) { method BackupSnapshotsList (line 249) | func (h *BackupHandler) BackupSnapshotsList(ctx *gin.Context) { function NewBackupHandler (line 20) | func NewBackupHandler(backupService *backup.BackupService) *BackupHandler { FILE: internal/api/handler/dst_api_handler.go type DstHomeDetailParam (line 16) | type DstHomeDetailParam struct function NewDstHomeDetailParam (line 21) | func NewDstHomeDetailParam() *DstHomeDetailParam { type DstHomeServerParam (line 25) | type DstHomeServerParam struct function NewDstHomeServerParam (line 41) | func NewDstHomeServerParam() *DstHomeServerParam { type DstApiHandler (line 45) | type DstApiHandler struct method RegisterRoute (line 52) | func (h *DstApiHandler) RegisterRoute(router *gin.RouterGroup) { method GetDstHomeServerList (line 65) | func (h *DstApiHandler) GetDstHomeServerList(c *gin.Context) { method GetDstHomeDetailList (line 144) | func (h *DstApiHandler) GetDstHomeDetailList(c *gin.Context) { method GetDstHomeServerList2 (line 183) | func (h *DstApiHandler) GetDstHomeServerList2(ctx *gin.Context) { method GetDstHomeDetailList2 (line 229) | func (h *DstApiHandler) GetDstHomeDetailList2(ctx *gin.Context) { method GiteeProxy (line 255) | func (h *DstApiHandler) GiteeProxy(c *gin.Context) { function NewDstApiHandler (line 48) | func NewDstApiHandler() *DstApiHandler { FILE: internal/api/handler/dst_config_handler.go type DstConfigHandler (line 14) | type DstConfigHandler struct method RegisterRoute (line 26) | func (h *DstConfigHandler) RegisterRoute(router *gin.RouterGroup) { method GetDstConfig (line 39) | func (h *DstConfigHandler) GetDstConfig(ctx *gin.Context) { method SaveDstConfig (line 69) | func (h *DstConfigHandler) SaveDstConfig(ctx *gin.Context) { function NewDstConfigHandler (line 19) | func NewDstConfigHandler(dstConfig dstConfig.Config, archive *archive.Pa... FILE: internal/api/handler/dst_map_handler.go type DstMapHandler (line 21) | type DstMapHandler struct method RegisterRoute (line 33) | func (d *DstMapHandler) RegisterRoute(router *gin.RouterGroup) { method GenDstMap (line 49) | func (d *DstMapHandler) GenDstMap(ctx *gin.Context) { method GetDstMapImage (line 96) | func (d *DstMapHandler) GetDstMapImage(ctx *gin.Context) { method HasWalrusHutPlains (line 126) | func (d *DstMapHandler) HasWalrusHutPlains(ctx *gin.Context) { method GetSessionFile (line 166) | func (d *DstMapHandler) GetSessionFile(ctx *gin.Context) { method GetPlayerSessionFile (line 204) | func (d *DstMapHandler) GetPlayerSessionFile(ctx *gin.Context) { function NewDstMapHandler (line 26) | func NewDstMapHandler(archiveResolver *archive.PathResolver, generator *... function findLatestPlayerFile (line 248) | func findLatestPlayerFile(directory string) (string, error) { function extractSessionPrefix (line 284) | func extractSessionPrefix(sessionFile string) string { constant sessionPrefix (line 292) | sessionPrefix = "/save/session/" function extractSessionID (line 295) | func extractSessionID(p string) string { function findLatestMetaFile (line 308) | func findLatestMetaFile(directory string) (string, error) { FILE: internal/api/handler/game_config_handler.go type GameConfigHandler (line 13) | type GameConfigHandler struct method RegisterRoute (line 23) | func (p *GameConfigHandler) RegisterRoute(router *gin.RouterGroup) { method GetClusterIni (line 45) | func (p *GameConfigHandler) GetClusterIni(ctx *gin.Context) { method SaveClusterIni (line 72) | func (p *GameConfigHandler) SaveClusterIni(ctx *gin.Context) { method GetAdminList (line 107) | func (p *GameConfigHandler) GetAdminList(ctx *gin.Context) { method SaveAdminList (line 134) | func (p *GameConfigHandler) SaveAdminList(ctx *gin.Context) { method GetBlackList (line 171) | func (p *GameConfigHandler) GetBlackList(ctx *gin.Context) { method SaveBlackList (line 198) | func (p *GameConfigHandler) SaveBlackList(ctx *gin.Context) { method GetWhithList (line 235) | func (p *GameConfigHandler) GetWhithList(ctx *gin.Context) { method SaveWhithList (line 262) | func (p *GameConfigHandler) SaveWhithList(ctx *gin.Context) { method GetConfig (line 300) | func (p *GameConfigHandler) GetConfig(ctx *gin.Context) { method SaveConfig (line 318) | func (p *GameConfigHandler) SaveConfig(ctx *gin.Context) { function NewGameConfigHandler (line 17) | func NewGameConfigHandler(gameConfig *gameConfig.GameConfig) *GameConfig... FILE: internal/api/handler/game_handler.go type GameHandler (line 25) | type GameHandler struct method RegisterRoute (line 43) | func (p *GameHandler) RegisterRoute(router *gin.RouterGroup) { method Stop (line 63) | func (p *GameHandler) Stop(ctx *gin.Context) { method Start (line 88) | func (p *GameHandler) Start(ctx *gin.Context) { method StartAll (line 111) | func (p *GameHandler) StartAll(ctx *gin.Context) { method StopAll (line 129) | func (p *GameHandler) StopAll(ctx *gin.Context) { method Command (line 148) | func (p *GameHandler) Command(ctx *gin.Context) { method Status (line 196) | func (p *GameHandler) Status(ctx *gin.Context) { method GameArchive (line 292) | func (p *GameHandler) GameArchive(ctx *gin.Context) { method SystemInfoStream (line 310) | func (p *GameHandler) SystemInfoStream(ctx *gin.Context) { method sendSystemInfoData (line 340) | func (p *GameHandler) sendSystemInfoData(ctx *gin.Context, clusterName... method GetSystemInfo (line 371) | func (p *GameHandler) GetSystemInfo(clusterName string) *SystemInfo { function NewGameHandler (line 33) | func NewGameHandler(process game.Process, levelService *level.LevelServi... type LevelStatus (line 176) | type LevelStatus struct type SystemInfo (line 362) | type SystemInfo struct FILE: internal/api/handler/kv_handler.go type KvHandler (line 13) | type KvHandler struct method RegisterRoute (line 23) | func (i *KvHandler) RegisterRoute(router *gin.RouterGroup) { method GetKv (line 35) | func (i *KvHandler) GetKv(ctx *gin.Context) { method SaveKv (line 58) | func (i *KvHandler) SaveKv(ctx *gin.Context) { function NewKvHandler (line 17) | func NewKvHandler(db *gorm.DB) *KvHandler { FILE: internal/api/handler/level_handler.go type LevelHandler (line 13) | type LevelHandler struct method RegisterRoute (line 23) | func (h *LevelHandler) RegisterRoute(router *gin.RouterGroup) { method GetLevelList (line 41) | func (h *LevelHandler) GetLevelList(ctx *gin.Context) { method UpdateLevel (line 61) | func (h *LevelHandler) UpdateLevel(ctx *gin.Context) { method CreateLevel (line 100) | func (h *LevelHandler) CreateLevel(ctx *gin.Context) { method DeleteLevel (line 139) | func (h *LevelHandler) DeleteLevel(ctx *gin.Context) { method UpdateLevels (line 169) | func (h *LevelHandler) UpdateLevels(ctx *gin.Context) { function NewLevelHandler (line 17) | func NewLevelHandler(levelService *level.LevelService) *LevelHandler { FILE: internal/api/handler/level_log_handler.go type LevelLogHandler (line 22) | type LevelLogHandler struct method RegisterRoute (line 31) | func (h *LevelLogHandler) RegisterRoute(router *gin.RouterGroup) { method Stream (line 47) | func (h *LevelLogHandler) Stream(c *gin.Context) { method GetServerLog (line 124) | func (h *LevelLogHandler) GetServerLog(ctx *gin.Context) { method DownloadServerLog (line 163) | func (h *LevelLogHandler) DownloadServerLog(ctx *gin.Context) { function NewLevelLogHandler (line 26) | func NewLevelLogHandler(archive *archive.PathResolver) *LevelLogHandler { function writeSSE (line 177) | func writeSSE(w io.Writer, event, data string) { type FileLogReader (line 193) | type FileLogReader struct method Snapshot (line 203) | func (r *FileLogReader) Snapshot( method Follow (line 268) | func (r *FileLogReader) Follow( function NewFileLogReader (line 197) | func NewFileLogReader() *FileLogReader { FILE: internal/api/handler/login_handler.go constant PasswordPath (line 17) | PasswordPath = "./password.txt" type LoginHandler (line 20) | type LoginHandler struct method RegisterRoute (line 30) | func (h *LoginHandler) RegisterRoute(router *gin.RouterGroup) { method GetUserInfo (line 48) | func (h *LoginHandler) GetUserInfo(ctx *gin.Context) { method Login (line 65) | func (h *LoginHandler) Login(ctx *gin.Context) { method Logout (line 89) | func (h *LoginHandler) Logout(ctx *gin.Context) { method ChangePassword (line 107) | func (h *LoginHandler) ChangePassword(ctx *gin.Context) { method UpdateUserInfo (line 133) | func (h *LoginHandler) UpdateUserInfo(ctx *gin.Context) { method InitFirst (line 179) | func (h *LoginHandler) InitFirst(ctx *gin.Context) { method CheckIsFirst (line 227) | func (h *LoginHandler) CheckIsFirst(ctx *gin.Context) { function NewLoginHandler (line 24) | func NewLoginHandler(loginService *login.LoginService) *LoginHandler { FILE: internal/api/handler/mod_handler.go type ModHandler (line 16) | type ModHandler struct method RegisterRoute (line 28) | func (h *ModHandler) RegisterRoute(router *gin.RouterGroup) { method SearchModList (line 58) | func (h *ModHandler) SearchModList(ctx *gin.Context) { method GetModInfo (line 83) | func (h *ModHandler) GetModInfo(ctx *gin.Context) { method GetMyModList (line 122) | func (h *ModHandler) GetMyModList(ctx *gin.Context) { method UpdateAllModInfos (line 163) | func (h *ModHandler) UpdateAllModInfos(ctx *gin.Context) { method DeleteMod (line 186) | func (h *ModHandler) DeleteMod(ctx *gin.Context) { method DeleteSetupWorkshop (line 207) | func (h *ModHandler) DeleteSetupWorkshop(ctx *gin.Context) { method GetModInfoFile (line 228) | func (h *ModHandler) GetModInfoFile(ctx *gin.Context) { method SaveModInfoFile (line 249) | func (h *ModHandler) SaveModInfoFile(ctx *gin.Context) { method UpdateMod (line 276) | func (h *ModHandler) UpdateMod(ctx *gin.Context) { method AddModInfoFile (line 325) | func (h *ModHandler) AddModInfoFile(ctx *gin.Context) { method GetUgcModAcf (line 370) | func (h *ModHandler) GetUgcModAcf(ctx *gin.Context) { method DeleteUgcModFile (line 394) | func (h *ModHandler) DeleteUgcModFile(ctx *gin.Context) { function NewModHandler (line 21) | func NewModHandler(modService *mod.ModService, dstConfig dstConfig.Confi... FILE: internal/api/handler/player_handler.go type PlayerHandler (line 12) | type PlayerHandler struct method GetPlayerList (line 24) | func (p *PlayerHandler) GetPlayerList(ctx *gin.Context) { method GetPlayerAllList (line 35) | func (p *PlayerHandler) GetPlayerAllList(ctx *gin.Context) { method RegisterRoute (line 46) | func (p *PlayerHandler) RegisterRoute(router *gin.RouterGroup) { function NewPlayerHandler (line 17) | func NewPlayerHandler(playerService *player.PlayerService, gameProcess g... FILE: internal/api/handler/player_log_handler.go type PlayerLogHandler (line 15) | type PlayerLogHandler struct method RegisterRoute (line 22) | func (l *PlayerLogHandler) RegisterRoute(router *gin.RouterGroup) { method PlayerLogQueryPage (line 42) | func (l *PlayerLogHandler) PlayerLogQueryPage(ctx *gin.Context) { method DeletePlayerLog (line 125) | func (l *PlayerLogHandler) DeletePlayerLog(ctx *gin.Context) { method DeletePlayerLogAll (line 150) | func (l *PlayerLogHandler) DeletePlayerLogAll(ctx *gin.Context) { function NewPlayerLogHandler (line 18) | func NewPlayerLogHandler() *PlayerLogHandler { FILE: internal/api/handler/statistics_handler.go type StatisticsHandler (line 16) | type StatisticsHandler struct method RegisterRoute (line 54) | func (s *StatisticsHandler) RegisterRoute(router *gin.RouterGroup) { method CountActiveUser (line 65) | func (s *StatisticsHandler) CountActiveUser(ctx *gin.Context) { method CountLoginUser (line 136) | func (s *StatisticsHandler) CountLoginUser(ctx *gin.Context) { method TopUserActiveTimes (line 159) | func (s *StatisticsHandler) TopUserActiveTimes(ctx *gin.Context) { method TopUserLoginimes (line 190) | func (s *StatisticsHandler) TopUserLoginimes(ctx *gin.Context) { method TopDeaths (line 218) | func (s *StatisticsHandler) TopDeaths(ctx *gin.Context) { method CountRoleRate (line 246) | func (s *StatisticsHandler) CountRoleRate(ctx *gin.Context) { method LastThNRegenerate (line 286) | func (s *StatisticsHandler) LastThNRegenerate(ctx *gin.Context) { function NewStatisticsHandler (line 19) | func NewStatisticsHandler() *StatisticsHandler { type UserStatistics (line 23) | type UserStatistics struct type TopStatistics (line 28) | type TopStatistics struct type RoleRateStatistics (line 39) | type RoleRateStatistics struct function findStamp (line 44) | func findStamp(stamp int64, data []UserStatistics) *UserStatistics { function startDate (line 270) | func startDate(ctx *gin.Context) time.Time { function endDate (line 278) | func endDate(ctx *gin.Context) time.Time { FILE: internal/api/handler/update.go type UpdateHandler (line 13) | type UpdateHandler struct method RegisterRoute (line 23) | func (h *UpdateHandler) RegisterRoute(router *gin.RouterGroup) { method Update (line 33) | func (h *UpdateHandler) Update(ctx *gin.Context) { function NewUpdateHandler (line 17) | func NewUpdateHandler(update update.Update) *UpdateHandler { FILE: internal/api/router.go function NewRoute (line 32) | func NewRoute(cfg *config.Config, db *gorm.DB) *gin.Engine { function initCollectors (line 53) | func initCollectors(archive *archive.PathResolver, dstConfigService dstC... function RegisterStaticFile (line 64) | func RegisterStaticFile(app *gin.Engine) { function Register (line 87) | func Register(cfg *config.Config, db *gorm.DB, router *gin.RouterGroup) { FILE: internal/collect/collect.go type Collect (line 18) | type Collect struct method Stop (line 44) | func (c *Collect) Stop() { method ReCollect (line 48) | func (c *Collect) ReCollect(baseLogPath, clusterName string) { method StartCollect (line 62) | func (c *Collect) StartCollect() { method parseSpawnRequestLog (line 82) | func (c *Collect) parseSpawnRequestLog(text string) { method parseRegenerateLog (line 111) | func (c *Collect) parseRegenerateLog(text string) { method parseNewIncomingLog (line 124) | func (c *Collect) parseNewIncomingLog(lines []string) { method tailServeLog (line 213) | func (c *Collect) tailServeLog(fileName string) { method parseChatLog (line 271) | func (c *Collect) parseChatLog(text string) { method parseSay (line 303) | func (c *Collect) parseSay(text string) { method parseResurrect (line 345) | func (c *Collect) parseResurrect(text string) { method parseDeath (line 349) | func (c *Collect) parseDeath(text string) { method parseLeave (line 421) | func (c *Collect) parseLeave(text string) { method parseJoin (line 425) | func (c *Collect) parseJoin(text string) { method tailServerChatLog (line 466) | func (c *Collect) tailServerChatLog(fileName string) { method getSpawnRole (line 501) | func (c *Collect) getSpawnRole(name string) *model.Spawn { method getConnectInfo (line 507) | func (c *Collect) getConnectInfo(name string) *model.Connect { method parseAnnouncement (line 513) | func (c *Collect) parseAnnouncement(text string) { function NewCollect (line 27) | func NewCollect(baseLogPath string, clusterName string) *Collect { FILE: internal/collect/collect_map.go type CollectMap (line 10) | type CollectMap struct method AddNewCollect (line 21) | func (cm *CollectMap) AddNewCollect(clusterName string, baseLogPath st... method RemoveCollect (line 30) | func (cm *CollectMap) RemoveCollect(clusterName string) { function NewCollectMap (line 15) | func NewCollectMap() *CollectMap { FILE: internal/config/config.go type Config (line 10) | type Config struct constant ConfigPath (line 28) | ConfigPath = "./config.yml" constant DefaultPort (line 29) | DefaultPort = "8083" function Load (line 34) | func Load() *Config { FILE: internal/database/sqlite.go function InitDB (line 15) | func InitDB(config *config.Config) *gorm.DB { FILE: internal/middleware/auth.go function apiFilter (line 17) | func apiFilter(s []string, str string) bool { function Authentication (line 29) | func Authentication(loginService *login.LoginService) gin.HandlerFunc { function SseHeadersMiddleware (line 53) | func SseHeadersMiddleware() gin.HandlerFunc { FILE: internal/middleware/cluster.go constant clusterNameKey (line 12) | clusterNameKey = "cluster_name" constant dstConfigKey (line 13) | dstConfigKey = "dst_config" function ClusterMiddleware (line 17) | func ClusterMiddleware(dstConfigService dstConfig.Config) gin.HandlerFunc { FILE: internal/middleware/error.go function Recover (line 11) | func Recover(c *gin.Context) { function errorToString (line 34) | func errorToString(r interface{}) string { FILE: internal/middleware/start_before.go function StartBeforeMiddleware (line 15) | func StartBeforeMiddleware(archive *archive.PathResolver, levelConfigUti... function copyOsFile (line 22) | func copyOsFile() { function customcommandsFile (line 26) | func customcommandsFile(ctx *gin.Context, archive *archive.PathResolver,... function makeRunVersion (line 39) | func makeRunVersion(ctx *gin.Context, archive *archive.PathResolver, lev... FILE: internal/model/LogRecord.go type Action (line 5) | type Action constant RUN (line 8) | RUN Action = iota constant STOP (line 9) | STOP constant NORMAL (line 10) | NORMAL type LogRecord (line 13) | type LogRecord struct FILE: internal/model/announce.go type Announce (line 5) | type Announce struct FILE: internal/model/autoCheck.go type AutoCheck (line 5) | type AutoCheck struct FILE: internal/model/backup.go type Backup (line 5) | type Backup struct FILE: internal/model/backupSnapshot.go type BackupSnapshot (line 5) | type BackupSnapshot struct FILE: internal/model/cluster.go type Cluster (line 5) | type Cluster struct FILE: internal/model/connect.go type Connect (line 5) | type Connect struct FILE: internal/model/jobTask.go type JobTask (line 5) | type JobTask struct FILE: internal/model/kv.go type KV (line 5) | type KV struct FILE: internal/model/modInfo.go type ModInfo (line 5) | type ModInfo struct FILE: internal/model/modKv.go type ModKV (line 5) | type ModKV struct FILE: internal/model/playerLog.go type PlayerLog (line 5) | type PlayerLog struct FILE: internal/model/regenerate.go type Regenerate (line 5) | type Regenerate struct FILE: internal/model/spawnRole.go type Spawn (line 5) | type Spawn struct FILE: internal/model/webLink.go type WebLink (line 5) | type WebLink struct FILE: internal/pkg/context/cluster.go constant clusterNameKey (line 10) | clusterNameKey = "cluster_name" constant dstConfigKey (line 11) | dstConfigKey = "dst_config" function GetClusterName (line 16) | func GetClusterName(c *gin.Context) string { function GetDstConfig (line 27) | func GetDstConfig(c *gin.Context) *dstConfig.DstConfig { FILE: internal/pkg/response/response.go type Response (line 9) | type Response struct type Page (line 15) | type Page struct function OkWithData (line 24) | func OkWithData(data interface{}, ctx *gin.Context) { function OkWithMessage (line 33) | func OkWithMessage(message string, ctx *gin.Context) { function FailWithMessage (line 42) | func FailWithMessage(message string, ctx *gin.Context) { function OkWithPage (line 51) | func OkWithPage(data interface{}, total, page, size int64, ctx *gin.Cont... FILE: internal/pkg/utils/collectionUtils/collectionUtils.go function ToSet (line 5) | func ToSet(list []string) []string { FILE: internal/pkg/utils/dateUtils.go function Bod (line 7) | func Bod(t time.Time) time.Time { function Truncate (line 12) | func Truncate(t time.Time) time.Time { function Get_stamp_day (line 16) | func Get_stamp_day(start_time, end_time time.Time) (args []int64) { function Get_stamp_month (line 34) | func Get_stamp_month(start_time, end_time time.Time) (args []int64) { FILE: internal/pkg/utils/dstUtils/dstUtils.go function EscapePath (line 15) | func EscapePath(path string) string { function WorkshopIds (line 27) | func WorkshopIds(content string) []string { function DedicatedServerModsSetup (line 42) | func DedicatedServerModsSetup(dstConfig dstConfig.DstConfig, modConfig s... function GetModSetup2 (line 76) | func GetModSetup2(dstConfig dstConfig.DstConfig) string { function ParseTemplate (line 80) | func ParseTemplate(templatePath string, data interface{}) string { FILE: internal/pkg/utils/envUtils.go function IsWindow (line 5) | func IsWindow() bool { FILE: internal/pkg/utils/fileUtils/fileUtls.go function Exists (line 16) | func Exists(path string) bool { function IsDir (line 24) | func IsDir(path string) bool { function IsFile (line 32) | func IsFile(path string) bool { function CreateDir (line 36) | func CreateDir(dirName string) bool { function CreateFile (line 51) | func CreateFile(fileName string) error { function WriterTXT (line 60) | func WriterTXT(filename, content string) error { function ReadLnFile (line 91) | func ReadLnFile(filePath string) ([]string, error) { function ReadFile (line 114) | func ReadFile(filePath string) (string, error) { function WriterLnFile (line 124) | func WriterLnFile(filename string, lines []string) error { function ReverseRead (line 149) | func ReverseRead(filename string, lineNum uint) ([]string, error) { function DeleteFile (line 187) | func DeleteFile(path string) error { function DeleteDir (line 196) | func DeleteDir(path string) error { function Rename (line 211) | func Rename(filePath, newName string) (err error) { function FindWorldDirs (line 216) | func FindWorldDirs(rootPath string) ([]string, error) { function ListDirectories (line 238) | func ListDirectories(root string) ([]string, error) { function CreateFileIfNotExists (line 270) | func CreateFileIfNotExists(path string) error { function CreateDirIfNotExists (line 302) | func CreateDirIfNotExists(filepath string) { function Copy (line 308) | func Copy(srcPath, outFileDir string) error { function copyHelper (line 349) | func copyHelper(srcPath, outFileDir string) error { FILE: internal/pkg/utils/luaUtils/luaUtils.go type Clock (line 11) | type Clock struct type Segs (line 20) | type Segs struct type IsRandom (line 26) | type IsRandom struct type Lengths (line 33) | type Lengths struct type Seasons (line 40) | type Seasons struct type Data (line 52) | type Data struct function mapTableToStruct (line 57) | func mapTableToStruct(table *lua.LTable, v reflect.Value) error { function luaValueToValue (line 115) | func luaValueToValue(lv lua.LValue, v reflect.Value) error { function mapTableToMap (line 177) | func mapTableToMap(table *lua.LTable, m map[string]interface{}) { function LuaTable2Map (line 199) | func LuaTable2Map(script string) (map[string]interface{}, error) { function LuaTable2Struct (line 214) | func LuaTable2Struct(script string, v reflect.Value) error { FILE: internal/pkg/utils/shellUtils/shellUitls.go function ExecuteCommandInWin (line 12) | func ExecuteCommandInWin(command string) (string, error) { function ExecuteCommand (line 22) | func ExecuteCommand(command string) (string, error) { function Shell (line 40) | func Shell(cmd string) (res string, err error) { type Charset (line 76) | type Charset constant UTF8 (line 79) | UTF8 = Charset("UTF-8") constant GB18030 (line 80) | GB18030 = Charset("GB18030") function ConvertByte2String (line 83) | func ConvertByte2String(byte []byte, charset Charset) string { function Chmod (line 98) | func Chmod(filePath string) error { FILE: internal/pkg/utils/systemUtils/SystemUtils.go function Home (line 25) | func Home() (string, error) { function HomePath (line 41) | func HomePath() string { function homeUnix (line 49) | func homeUnix() (string, error) { function homeWindows (line 71) | func homeWindows() (string, error) { type HostInfo (line 85) | type HostInfo struct type MemInfo (line 92) | type MemInfo struct type CpuInfo (line 99) | type CpuInfo struct type DiskInfo (line 106) | type DiskInfo struct type deviceInfo (line 109) | type deviceInfo struct function GetDiskInfo (line 119) | func GetDiskInfo() *DiskInfo { function GetCpuInfo (line 150) | func GetCpuInfo() *CpuInfo { function GetHostInfo (line 162) | func GetHostInfo() *HostInfo { function GetMemInfo (line 173) | func GetMemInfo() *MemInfo { function GetPublicIP (line 189) | func GetPublicIP() (string, error) { FILE: internal/pkg/utils/zip/zip.go function zipDir (line 13) | func zipDir(dirPath string, zipWriter *zip.Writer, basePath string) error { function Zip (line 53) | func Zip(sourceDir, targetZip string) error { function Unzip (line 73) | func Unzip(zipFile, destDir string) error { function Unzip3 (line 117) | func Unzip3(source, destination string) error { function Unzip2 (line 215) | func Unzip2(zipFile, destDir, newName string) error { FILE: internal/service/archive/path_resolver.go type PathResolver (line 16) | type PathResolver struct method KleiBasePath (line 33) | func (r *PathResolver) KleiBasePath(clusterName string) string { method ClusterPath (line 64) | func (r *PathResolver) ClusterPath(cluster string) string { method LevelPath (line 71) | func (r *PathResolver) LevelPath(cluster, level string) string { method DataFilePath (line 78) | func (r *PathResolver) DataFilePath( method ClusterIniPath (line 90) | func (r *PathResolver) ClusterIniPath(clusterName string) string { method ClusterTokenPath (line 94) | func (r *PathResolver) ClusterTokenPath(clusterName string) string { method AdminlistPath (line 98) | func (r *PathResolver) AdminlistPath(clusterName string) string { method BlocklistPath (line 102) | func (r *PathResolver) BlocklistPath(clusterName string) string { method BlacklistPath (line 105) | func (r *PathResolver) BlacklistPath(clusterName string) string { method WhitelistPath (line 109) | func (r *PathResolver) WhitelistPath(clusterName string) string { method ModoverridesPath (line 113) | func (r *PathResolver) ModoverridesPath(clusterName, levelName string)... method LeveldataoverridePath (line 117) | func (r *PathResolver) LeveldataoverridePath(clusterName, levelName st... method ServerIniPath (line 121) | func (r *PathResolver) ServerIniPath(clusterName string, levelName str... method ServerLogPath (line 125) | func (r *PathResolver) ServerLogPath(cluster string, levelName string)... method GetUgcWorkshopModPath (line 129) | func (r *PathResolver) GetUgcWorkshopModPath(clusterName, levelName, w... method GetUgcModPath (line 141) | func (r *PathResolver) GetUgcModPath(clusterName string) string { method GetUgcAcfPath (line 152) | func (r *PathResolver) GetUgcAcfPath(clusterName, levelName string) st... method GetModSetup (line 164) | func (r *PathResolver) GetModSetup(clusterName string) string { method IsBeta (line 173) | func (r *PathResolver) IsBeta(clusterName string) bool { method GetLocalDstVersion (line 181) | func (r *PathResolver) GetLocalDstVersion(clusterName string) (int64, ... method GetLastDstVersion (line 194) | func (r *PathResolver) GetLastDstVersion() (int64, error) { method dstVersion (line 212) | func (r *PathResolver) dstVersion(versionTextPath string) (int64, erro... function NewPathResolver (line 21) | func NewPathResolver(dstConfig dstConfig.Config) (*PathResolver, error) { FILE: internal/service/backup/backup_service.go type BackupService (line 24) | type BackupService struct method GetBackupList (line 52) | func (b *BackupService) GetBackupList(clusterName string) []BackupInfo { method RenameBackup (line 90) | func (b *BackupService) RenameBackup(ctx *gin.Context, fileName, newNa... method DeleteBackup (line 104) | func (b *BackupService) DeleteBackup(ctx *gin.Context, fileNames []str... method RestoreBackup (line 126) | func (b *BackupService) RestoreBackup(ctx *gin.Context, backupName str... method CreateBackup (line 163) | func (b *BackupService) CreateBackup(clusterName, backupName string) { method DownloadBackup (line 197) | func (b *BackupService) DownloadBackup(c *gin.Context) { method UploadBackup (line 221) | func (b *BackupService) UploadBackup(c *gin.Context) { method ScheduleBackupSnapshots (line 248) | func (b *BackupService) ScheduleBackupSnapshots() { method CreateSnapshotBackup (line 302) | func (b *BackupService) CreateSnapshotBackup(prefix, clusterName strin... method DeleteBackupSnapshots (line 322) | func (b *BackupService) DeleteBackupSnapshots(prefix string, maxSnapsh... method backupPath (line 351) | func (b *BackupService) backupPath() string { method GenGameBackUpName (line 369) | func (b *BackupService) GenGameBackUpName(clusterName string) string { method GenBackUpSnapshotName (line 376) | func (b *BackupService) GenBackUpSnapshotName(prefix, clusterName stri... type BackupInfo (line 30) | type BackupInfo struct type BackupSnapshot (line 37) | type BackupSnapshot struct function NewBackupService (line 44) | func NewBackupService(archive *archive.PathResolver, dstConfig dstConfig... function sumMd5 (line 292) | func sumMd5(filePath string) string { FILE: internal/service/dstConfig/dst_config.go type DstConfig (line 3) | type DstConfig struct type Config (line 20) | type Config interface FILE: internal/service/dstConfig/factory.go function NewDstConfig (line 7) | func NewDstConfig(db *gorm.DB) Config { FILE: internal/service/dstConfig/one_dst_config.go constant dst_config_path (line 14) | dst_config_path = "./dst_config" type OneDstConfig (line 16) | type OneDstConfig struct method kleiBasePath (line 26) | func (o *OneDstConfig) kleiBasePath(config DstConfig) string { method GetDstConfig (line 55) | func (o *OneDstConfig) GetDstConfig(clusterName string) (DstConfig, er... method SaveDstConfig (line 173) | func (o *OneDstConfig) SaveDstConfig(clusterName string, dstConfig Dst... function NewOneDstConfig (line 20) | func NewOneDstConfig(db *gorm.DB) OneDstConfig { FILE: internal/service/dstMap/dst_map.go type Color (line 15) | type Color struct type DSTMapGenerator (line 21) | type DSTMapGenerator struct method ReadSaveFile (line 126) | func (g *DSTMapGenerator) ReadSaveFile(filePath string) (string, error) { method DecodeMapData (line 176) | func (g *DSTMapGenerator) DecodeMapData(tilesBase64 string) ([]int, er... method CreateMapImage (line 226) | func (g *DSTMapGenerator) CreateMapImage(tileIds []int, width, height,... method GenerateMap (line 265) | func (g *DSTMapGenerator) GenerateMap(saveFilePath, outputPath string,... function NewDSTMapGenerator (line 27) | func NewDSTMapGenerator() *DSTMapGenerator { function RestoreTileId (line 144) | func RestoreTileId(original int, colors map[int]Color) int { function ExtractDimensions (line 299) | func ExtractDimensions(filePath string) (int, int, error) { function main (line 335) | func main() { FILE: internal/service/dstPath/dst_path.go type DstPath (line 11) | type DstPath interface function EscapePath (line 15) | func EscapePath(path string) string { function GetBaseUpdateCmd (line 27) | func GetBaseUpdateCmd(cluster dstConfig.DstConfig) string { FILE: internal/service/dstPath/linux_dst.go type LinuxDstPath (line 10) | type LinuxDstPath struct method UpdateCommand (line 18) | func (d LinuxDstPath) UpdateCommand(clusterName string) (string, error) { function NewLinuxDstPath (line 14) | func NewLinuxDstPath(dstConfig dstConfig.Config) *LinuxDstPath { FILE: internal/service/dstPath/window_dst.go type WindowDstPath (line 8) | type WindowDstPath struct method UpdateCommand (line 16) | func (d WindowDstPath) UpdateCommand(clusterName string) (string, erro... function NewWindowDst (line 12) | func NewWindowDst(dstConfig dstConfig.Config) *WindowDstPath { FILE: internal/service/game/factory.go function NewGame (line 9) | func NewGame(dstConfig dstConfig.Config, levelConfigUtils *levelConfig.L... FILE: internal/service/game/linux_process.go type LinuxProcess (line 14) | type LinuxProcess struct method SessionName (line 27) | func (p *LinuxProcess) SessionName(clusterName, levelName string) stri... method Start (line 31) | func (p *LinuxProcess) Start(clusterName, levelName string) error { method launchLevel (line 42) | func (p *LinuxProcess) launchLevel(clusterName, levelName string) error { method shutdownLevel (line 87) | func (p *LinuxProcess) shutdownLevel(clusterName, levelName string) er... method killLevel (line 101) | func (p *LinuxProcess) killLevel(clusterName, level string) error { method Stop (line 112) | func (p *LinuxProcess) Stop(clusterName, levelName string) error { method stop (line 119) | func (p *LinuxProcess) stop(clusterName, levelName string) error { method StartAll (line 142) | func (p *LinuxProcess) StartAll(clusterName string) error { method StopAll (line 177) | func (p *LinuxProcess) StopAll(clusterName string) error { method stopAll (line 184) | func (p *LinuxProcess) stopAll(clusterName string) error { method Status (line 210) | func (p *LinuxProcess) Status(clusterName, levelName string) (bool, er... method Command (line 220) | func (p *LinuxProcess) Command(clusterName, levelName, command string)... method PsAuxSpecified (line 226) | func (p *LinuxProcess) PsAuxSpecified(clusterName, levelName string) D... function NewLinuxProcess (line 20) | func NewLinuxProcess(dstConfig dstConfig.Config, levelConfigUtils *level... constant ClearScreenCmd (line 250) | ClearScreenCmd = "screen -wipe " function ClearScreen (line 253) | func ClearScreen() bool { FILE: internal/service/game/process.go type DstPsAux (line 3) | type DstPsAux struct type Process (line 10) | type Process interface FILE: internal/service/game/windowGameCli.go type ClusterContainer (line 340) | type ClusterContainer struct method StartLevel (line 352) | func (receiver *ClusterContainer) StartLevel(cluster, levelName string... method StopLevel (line 372) | func (receiver *ClusterContainer) StopLevel(cluster, levelName string) { method Send (line 381) | func (receiver *ClusterContainer) Send(cluster, levelName, message str... method Status (line 389) | func (receiver *ClusterContainer) Status(cluster, levelName string) bo... method MemUsage (line 398) | func (receiver *ClusterContainer) MemUsage(cluster, levelName string) ... method CpuUsage (line 407) | func (receiver *ClusterContainer) CpuUsage(cluster, levelName string) ... method Remove (line 416) | func (receiver *ClusterContainer) Remove(cluster, levelName string) { function NewClusterContainer (line 345) | func NewClusterContainer() *ClusterContainer { type LevelInstance (line 423) | type LevelInstance struct method Status (line 458) | func (receiver *LevelInstance) Status() bool { method Start (line 462) | func (receiver *LevelInstance) Start() { method Stop (line 561) | func (receiver *LevelInstance) Stop() { method Send (line 575) | func (receiver *LevelInstance) Send(cmd string) error { method GetProcessMemInfo (line 593) | func (receiver *LevelInstance) GetProcessMemInfo() float64 { method GetProcessCpuInfo (line 609) | func (receiver *LevelInstance) GetProcessCpuInfo() float64 { function NewLevelInstance (line 440) | func NewLevelInstance(cluster, levelName string, bin int, steamcmd, dstS... FILE: internal/service/game/window_process.go type WindowProcess (line 11) | type WindowProcess struct method SessionName (line 25) | func (p *WindowProcess) SessionName(clusterName, levelName string) str... method Start (line 29) | func (p *WindowProcess) Start(clusterName, levelName string) error { method Stop (line 41) | func (p *WindowProcess) Stop(clusterName, levelName string) error { method StartAll (line 46) | func (p *WindowProcess) StartAll(clusterName string) error { method StopAll (line 78) | func (p *WindowProcess) StopAll(clusterName string) error { method Status (line 105) | func (p *WindowProcess) Status(clusterName, levelName string) (bool, e... method Command (line 109) | func (p *WindowProcess) Command(clusterName, levelName, command string... method PsAuxSpecified (line 114) | func (p *WindowProcess) PsAuxSpecified(clusterName, levelName string) ... function NewWindowProcess (line 17) | func NewWindowProcess(dstConfig *dstConfig.Config, levelConfigUtils *lev... FILE: internal/service/gameArchive/game_archive.go type GameArchive (line 26) | type GameArchive struct method GetGameArchive (line 101) | func (d *GameArchive) GetGameArchive(clusterName string) GameArchiveIn... method GetPublicIP (line 202) | func (d *GameArchive) GetPublicIP() (string, error) { method GetPrivateIP (line 241) | func (d *GameArchive) GetPrivateIP() (string, error) { method getSubPathLevel (line 268) | func (d *GameArchive) getSubPathLevel(rootP, curPath string) int { method FindLatestMetaFile (line 278) | func (d *GameArchive) FindLatestMetaFile(rootDir string) (string, erro... method Snapshoot (line 350) | func (d *GameArchive) Snapshoot(clusterName string) Meta { function NewGameArchive (line 32) | func NewGameArchive(gameConfig *gameConfig.GameConfig, level *level.Leve... type GameArchiveInfo (line 40) | type GameArchiveInfo struct type Clock (line 55) | type Clock struct type Segs (line 64) | type Segs struct type IsRandom (line 70) | type IsRandom struct type Lengths (line 77) | type Lengths struct type Seasons (line 84) | type Seasons struct type Meta (line 96) | type Meta struct function findLatestMetaFile (line 299) | func findLatestMetaFile(directory string) (string, error) { FILE: internal/service/gameConfig/game_config.go constant ClusterIniTemplate (line 17) | ClusterIniTemplate = "./static/template/cluster2.ini" constant MasterServerIniTemplate (line 18) | MasterServerIniTemplate = "./static/template/master_server.ini" constant CavesServerIniTemplate (line 19) | CavesServerIniTemplate = "./static/template/caves_server.ini" constant ServerIniTemplate (line 20) | ServerIniTemplate = "./static/template/server.ini" type ClusterIni (line 23) | type ClusterIni struct type ServerIni (line 59) | type ServerIni struct type ClusterIniConfig (line 76) | type ClusterIniConfig struct type GameConfig (line 80) | type GameConfig struct method GetClusterIniConfig (line 92) | func (p *GameConfig) GetClusterIniConfig(clusterName string) (ClusterI... method SaveClusterIniConfig (line 107) | func (p *GameConfig) SaveClusterIniConfig(clusterName string, config *... method GetClusterIni (line 119) | func (p *GameConfig) GetClusterIni(clusterName string) (ClusterIni, er... method SaveClusterIni (line 214) | func (p *GameConfig) SaveClusterIni(clusterName string, clusterIni *Cl... method GetClusterToken (line 220) | func (p *GameConfig) GetClusterToken(clusterName string) (string, erro... method SaveClusterToken (line 224) | func (p *GameConfig) SaveClusterToken(clusterName string, token string... method GetAdminList (line 228) | func (p *GameConfig) GetAdminList(clusterName string) ([]string, error) { method GetBlackList (line 232) | func (p *GameConfig) GetBlackList(clusterName string) ([]string, error) { method GetWhithList (line 236) | func (p *GameConfig) GetWhithList(clusterName string) ([]string, error) { method SaveAdminList (line 240) | func (p *GameConfig) SaveAdminList(clusterName string, list []string) ... method SaveBlackList (line 252) | func (p *GameConfig) SaveBlackList(clusterName string, list []string) ... method SaveWhithList (line 264) | func (p *GameConfig) SaveWhithList(clusterName string, list []string) ... method GetHomeConfig (line 294) | func (p *GameConfig) GetHomeConfig(clusterName string) (HomeConfigVO, ... method SaveConfig (line 335) | func (p *GameConfig) SaveConfig(clusterName string, homeConfig HomeCon... function NewGameConfig (line 85) | func NewGameConfig(archive *archive.PathResolver, levelConfigUtils *leve... type HomeConfigVO (line 276) | type HomeConfigVO struct FILE: internal/service/level/level.go type LevelService (line 20) | type LevelService struct method GetLevelList (line 38) | func (l *LevelService) GetLevelList(clusterName string) []levelConfig.... method GetLevel (line 105) | func (l *LevelService) GetLevel(clusterName string, levelName string) ... method GetServerIni (line 143) | func (l *LevelService) GetServerIni(filepath string, isMaster bool) le... method UpdateLevels (line 186) | func (l *LevelService) UpdateLevels(clusterName string, levels []level... method UpdateLevel (line 200) | func (l *LevelService) UpdateLevel(clusterName string, level *levelCon... method CreateLevel (line 223) | func (l *LevelService) CreateLevel(clusterName string, level *levelCon... method DeleteLevel (line 250) | func (l *LevelService) DeleteLevel(clusterName string, levelName strin... method initLevel (line 279) | func (l *LevelService) initLevel(levelFolderPath string, level *levelC... method ParseTemplate (line 296) | func (l *LevelService) ParseTemplate(serverIni levelConfig.ServerIni) ... method generateUUID (line 302) | func (l *LevelService) generateUUID() string { function NewLevelService (line 28) | func NewLevelService(gameProcess game.Process, dstConfig dstConfig.Confi... FILE: internal/service/levelConfig/level_config.go type Item (line 13) | type Item struct type LevelConfig (line 20) | type LevelConfig struct type LevelInfo (line 25) | type LevelInfo struct type ServerIni (line 35) | type ServerIni struct function NewMasterServerIni (line 53) | func NewMasterServerIni() ServerIni { function NewCavesServerIni (line 63) | func NewCavesServerIni() ServerIni { type LevelConfigUtils (line 75) | type LevelConfigUtils struct method initLevel (line 85) | func (p *LevelConfigUtils) initLevel(levelFolderPath string, level *Le... method GetLevelConfig (line 101) | func (p *LevelConfigUtils) GetLevelConfig(clusterName string) (*LevelC... method SaveLevelConfig (line 169) | func (p *LevelConfigUtils) SaveLevelConfig(clusterName string, levelCo... function NewLevelConfigUtils (line 79) | func NewLevelConfigUtils(archive *archive.PathResolver) *LevelConfigUtils { FILE: internal/service/login/login_service.go constant PasswordPath (line 18) | PasswordPath = "./password.txt" type LoginService (line 21) | type LoginService struct method GetUserInfo (line 38) | func (l *LoginService) GetUserInfo() UserInfo { method Login (line 57) | func (l *LoginService) Login(userInfo UserInfo, ctx *gin.Context) *res... method Logout (line 97) | func (l *LoginService) Logout(ctx *gin.Context) { method DirectLogin (line 106) | func (l *LoginService) DirectLogin(ctx *gin.Context) { method ChangeUser (line 116) | func (l *LoginService) ChangeUser(username, password string) { method ChangePassword (line 131) | func (l *LoginService) ChangePassword(newPassword string) *response.Re... method InitUserInfo (line 155) | func (l *LoginService) InitUserInfo(userInfo UserInfo) { method IsWhiteIP (line 163) | func (l *LoginService) IsWhiteIP(ctx *gin.Context) bool { type UserInfo (line 25) | type UserInfo struct function NewLoginService (line 32) | func NewLoginService(config *config.Config) *LoginService { FILE: internal/service/mod/mod_service.go constant steamAPIKey (line 37) | steamAPIKey = "73DF9F781D195DFD3D19DED1CB72EEE6" constant appID (line 38) | appID = 322330 constant language (line 39) | language = 6 type ModService (line 42) | type ModService struct method SearchModList (line 131) | func (s *ModService) SearchModList(text string, page, size int, lang s... method SubscribeModByModId (line 242) | func (s *ModService) SubscribeModByModId(clusterName, modId, lang stri... method GetMyModList (line 363) | func (s *ModService) GetMyModList() ([]model.ModInfo, error) { method GetModByModId (line 370) | func (s *ModService) GetModByModId(modId string) (*model.ModInfo, erro... method DeleteMod (line 377) | func (s *ModService) DeleteMod(clusterName, modId string) error { method UpdateAllModInfos (line 392) | func (s *ModService) UpdateAllModInfos(clusterName, lang string) error { method DeleteSetupWorkshop (line 443) | func (s *ModService) DeleteSetupWorkshop(clusterName string) error { method SaveModInfo (line 475) | func (s *ModService) SaveModInfo(modInfo *model.ModInfo) error { method AddModInfo (line 480) | func (s *ModService) AddModInfo(clusterName, lang, modid, modinfo, mod... method GetUgcModInfo (line 501) | func (s *ModService) GetUgcModInfo(clusterName, levelName string) ([]W... method DeleteUgcModFile (line 568) | func (s *ModService) DeleteUgcModFile(clusterName, levelName, workshop... method parseACFFile (line 579) | func (s *ModService) parseACFFile(filePath string) map[string]Workshop... method getModInfoConfig (line 643) | func (s *ModService) getModInfoConfig(clusterName, lang, modId string)... method getV1ModInfoConfig (line 708) | func (s *ModService) getV1ModInfoConfig(clusterName, lang, modid, file... method getDstUcgsModsInstalledPath (line 778) | func (s *ModService) getDstUcgsModsInstalledPath(clusterName, modid st... method readModInfo (line 800) | func (s *ModService) readModInfo(lang, modId, modinfoPath string) map[... method parseModInfoLua (line 810) | func (s *ModService) parseModInfoLua(lang, modId, script string) map[s... method getVersion (line 841) | func (s *ModService) getVersion(tags interface{}) string { method searchModInfoByWorkshopId (line 863) | func (s *ModService) searchModInfoByWorkshopId(modID int) ModInfo { method getLocalModInfo (line 923) | func (s *ModService) getLocalModInfo(clusterName, lang, modId string) ... method addModInfoToDb (line 945) | func (s *ModService) addModInfoToDb(clusterName, lang, modid string) e... method getModInfo2 (line 984) | func (s *ModService) getModInfo2(modID string) (*model.ModInfo, error) { method getPublishedFileDetailsBatched (line 1053) | func (s *ModService) getPublishedFileDetailsBatched(workshopIds []stri... method getPublishedFileDetailsWithGet (line 1075) | func (s *ModService) getPublishedFileDetailsWithGet(workshopIds []stri... method getPublishedFileDetails (line 1112) | func (s *ModService) getPublishedFileDetails(workshopIds []string) ([]... method unzipToDir (line 1164) | func (s *ModService) unzipToDir(zipReader *zip.Reader, destDir string)... function NewModService (line 48) | func NewModService(db *gorm.DB, config dstConfig.Config, pathResolver *a... type SearchResult (line 57) | type SearchResult struct type ModInfo (line 66) | type ModInfo struct type Publishedfiledetail (line 87) | type Publishedfiledetail struct type WorkshopItemDetail (line 115) | type WorkshopItemDetail struct type WorkshopItem (line 124) | type WorkshopItem struct function toInterface (line 1218) | func toInterface(lv lua.LValue) interface{} { function toMap (line 1247) | func toMap(t *lua.LTable) map[string]interface{} { function isTableArray (line 1265) | func isTableArray(t *lua.LTable) bool { function isWorkshopId (line 1283) | func isWorkshopId(id string) bool { function isModId (line 1289) | func isModId(str string) (int, bool) { FILE: internal/service/player/player_service.go type PlayerInfo (line 15) | type PlayerInfo struct type PlayerService (line 23) | type PlayerService struct method GetPlayerList (line 33) | func (p *PlayerService) GetPlayerList(clusterName string, levelName st... method GetPlayerAllList (line 118) | func (p *PlayerService) GetPlayerAllList(clusterName string, gameProce... function NewPlayerService (line 27) | func NewPlayerService(archive *archive.PathResolver) *PlayerService { FILE: internal/service/update/factory.go function NewUpdateService (line 8) | func NewUpdateService(dstConfig dstConfig.Config) Update { FILE: internal/service/update/linux_update.go type LinuxUpdate (line 9) | type LinuxUpdate struct method Update (line 19) | func (u LinuxUpdate) Update(clusterName string) error { function NewLinuxUpdate (line 13) | func NewLinuxUpdate(dstConfig dstConfig.Config) *LinuxUpdate { FILE: internal/service/update/update.go type Update (line 12) | type Update interface function EscapePath (line 16) | func EscapePath(path string) string { function GetBaseUpdateCmd (line 28) | func GetBaseUpdateCmd(cluster dstConfig.DstConfig) string { function WindowUpdateCommand (line 48) | func WindowUpdateCommand(cluster dstConfig.DstConfig) (string, error) { function LinuxUpdateCommand (line 57) | func LinuxUpdateCommand(cluster dstConfig.DstConfig) (string, error) { FILE: internal/service/update/window_update.go type WindowUpdate (line 9) | type WindowUpdate struct method Update (line 19) | func (u WindowUpdate) Update(clusterName string) error { function NewWindowUpdate (line 13) | func NewWindowUpdate(dstConfig dstConfig.Config) *WindowUpdate { FILE: scripts/py-dst-cli/dst_version.py function get_dst_version (line 8) | def get_dst_version(steamcdn=None): FILE: scripts/py-dst-cli/main.py function gen_world_iamge_job (line 18) | def gen_world_iamge_job(path): function gen_world_setting_job (line 22) | def gen_world_setting_job(path): function run (line 31) | def run(): FILE: scripts/py-dst-cli/parse_TooManyItemPlus_items.py function parse_po_file (line 13) | def parse_po_file(po_file): function apply_spice_rule (line 40) | def apply_spice_rule(item, base_translation): function generate_translations (line 50) | def generate_translations(input_folder, po_file, output_file): FILE: scripts/py-dst-cli/parse_mod.py function search_mod_list (line 35) | def search_mod_list(text='', page=1, num=25): function get_mod_base_info (line 92) | def get_mod_base_info(modId: int): function check_is_dst_mod (line 125) | def check_is_dst_mod(mod_info): function get_mod_info (line 132) | def get_mod_info(modId: int): function get_mod_config_file_by_url (line 154) | def get_mod_config_file_by_url(file_url: str): function get_mod_config_file_by_steamcmd (line 181) | def get_mod_config_file_by_steamcmd(modId: int): function get_mod_info_dict (line 197) | def get_mod_info_dict(modId:int): function lua_runtime (line 215) | def lua_runtime(data: bytes): function table_dict (line 240) | def table_dict(lua_table): function get_dst_version (line 262) | def get_dst_version(): class ModHandler (line 280) | class ModHandler(BaseHTTPRequestHandler): method do_GET (line 282) | def do_GET(self): method mod_api (line 292) | def mod_api(self): method search_api (line 301) | def search_api(self): method dst_version_api (line 317) | def dst_version_api(self): FILE: scripts/py-dst-cli/parse_world_setting.py function table_dict (line 12) | def table_dict(lua_table): function dict_table (line 28) | def dict_table(py_dict, lua_temp): # dict 转 table。列表之类类型的转过去会有索引,table_... function scan (line 37) | def scan(dict_scan, num, key_set): # 返回指定深度的 keys 集合, key_set初始传入空set function parse_po (line 46) | def parse_po(path_po): # 把 .po 文件按照 msgctxt: msgstr 的格式转为字典,再以 . 的深度分割 ... function split_key (line 75) | def split_key(dict_split, list_split, value): # 以列表值为 keys 补全字典深度。用于分割 ... function creat_newdata (line 83) | def creat_newdata(path_cus, new_cus): # 删去local、不必要的require 和不需要的内容 function parse_cus (line 94) | def parse_cus(lua_cus, po): function parse_option (line 136) | def parse_option(group_dict, path_base): function parse_world_setting (line 222) | def parse_world_setting(path_base="data"): FILE: scripts/py-dst-cli/parse_world_webp.py function download_dst_scripts (line 13) | def download_dst_scripts(steamcdn=None): FILE: static/template/test.go function main (line 14) | func main() { function CheckErr (line 38) | func CheckErr(err error) { function GetHostInfo (line 44) | func GetHostInfo() { function GetCpuInfo (line 49) | func GetCpuInfo() { function GetMemInfo (line 53) | func GetMemInfo() { function GetDiskInfo (line 63) | func GetDiskInfo() {