diff --git a/local/service/config.go b/local/service/config.go index 9a190a1..1188b29 100755 --- a/local/service/config.go +++ b/local/service/config.go @@ -137,6 +137,16 @@ func (as *ConfigService) UpdateAllConfigs(ctx *fiber.Ctx, req *model.Configurati if err != nil { return nil, err } + if entry.fileName == SettingsJson { + if nameVal, ok := (*entry.body)["serverName"]; ok { + if nameStr, ok := nameVal.(string); ok && nameStr != "" && nameStr != server.Name { + server.Name = nameStr + if err := as.serverRepository.Update(ctx.UserContext(), server); err != nil { + logging.Error("Failed to update server name in DB: %v", err) + } + } + } + } result := as.repository.UpdateConfig(ctx.UserContext(), &model.Config{ ServerID: serverUUID, ConfigFile: entry.fileName, @@ -256,6 +266,17 @@ func (as *ConfigService) updateConfigInternal(ctx context.Context, serverID stri return nil, err } + if configFile == SettingsJson { + if nameVal, ok := (*body)["serverName"]; ok { + if nameStr, ok := nameVal.(string); ok && nameStr != "" && nameStr != server.Name { + server.Name = nameStr + if err := as.serverRepository.Update(ctx, server); err != nil { + logging.Error("Failed to update server name in DB: %v", err) + } + } + } + } + as.configCache.InvalidateServerCache(serverID) as.serverService.StartAccServerRuntime(server) @@ -537,3 +558,11 @@ func (as *ConfigService) SaveConfiguration(server *model.Server, config *model.C _, _, err = as.updateConfigFiles(context.Background(), server, ConfigurationJson, &configMap, true) return err } + +func (as *ConfigService) SetServerName(server *model.Server, name string) error { + configMap := map[string]interface{}{ + "serverName": name, + } + _, _, err := as.updateConfigFiles(context.Background(), server, SettingsJson, &configMap, false) + return err +} diff --git a/local/service/server.go b/local/service/server.go index a6bc798..659eaf9 100755 --- a/local/service/server.go +++ b/local/service/server.go @@ -436,6 +436,10 @@ func (s *ServerService) createServerBackground(ctx context.Context, server *mode return "", fmt.Errorf("failed to update server configuration: %v", err) } + if err := s.configService.SetServerName(server, server.Name); err != nil { + logging.Error("Failed to set server name in config: %v", err) + } + return fmt.Sprintf("Server configuration generated (Port: %d)", serverPort), nil }, },