Переглянути джерело

d06 Исправления после линтера

SVI 2 роки тому
батько
коміт
9998bd6c60

+ 1 - 1
go.mod

@@ -17,7 +17,7 @@ require (
 	github.com/gofiber/template v1.8.2 // indirect
 	github.com/gofiber/utils v1.1.0 // indirect
 	github.com/golang/snappy v0.0.4 // indirect
-	github.com/google/uuid v1.5.0 // indirect
+	github.com/google/uuid v1.6.0 // indirect
 	github.com/klauspost/compress v1.17.4 // indirect
 	github.com/lucasb-eyer/go-colorful v1.2.0 // indirect
 	github.com/mattn/go-colorable v0.1.13 // indirect

+ 2 - 2
go.sum

@@ -22,8 +22,8 @@ github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5y
 github.com/golang/snappy v0.0.0-20180518054509-2e65f85255db/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q=
 github.com/golang/snappy v0.0.4 h1:yAGX7huGHXlcLOEtBnF4w7FQwA26wojNCwOYAEhLjQM=
 github.com/golang/snappy v0.0.4/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q=
-github.com/google/uuid v1.5.0 h1:1p67kYwdtXjb0gL0BPiP1Av9wiZPo5A8z2cWkTZ+eyU=
-github.com/google/uuid v1.5.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
+github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0=
+github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
 github.com/hpcloud/tail v1.0.0 h1:nfCOvKYfkgYP8hkirhJocXT2+zOD8yUNjXaWfTlyFKI=
 github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU=
 github.com/klauspost/compress v1.17.4 h1:Ej5ixsIri7BrIjBkRZLTo6ghwrEtHFk7ijlczPW4fZ4=

+ 1 - 1
pkg/components/wrag/wrag.go

@@ -59,7 +59,7 @@ func (сам *Wrag) update(lstBattleOn []string) {
 	strHealth = lstHealth[0]
 	iHealth, err := strconv.Atoi(strHealth)
 	if err != nil {
-		log.Printf("Wrag.update(): здоровье(%v) не число, err=\n\t%v\n", strHealth,err)
+		log.Printf("Wrag.update(): здоровье(%v) не число, err=\n\t%v\n", strHealth, err)
 		сам.health = 800
 		return
 	}

+ 1 - 1
pkg/types/ibot.go

@@ -21,7 +21,7 @@ type ИБот interface {
 	// Сеть -- возвращает объект сети
 	Сеть() ИБотСеть
 	// Пуск -- запускает бота в работу
-	Пуск() error
+	Пуск()
 	// АвтоИграУст -- устанавливает признак автоматического начала игры
 	АвтоИграУст()
 	// АвтоИграСброс -- сбрасывает признак автоматического начала игры

+ 1 - 4
server/serv_bots/serv_bots.go

@@ -46,10 +46,7 @@ func (сам *БотоФерма) BotStart(botNumber alias.БотНомер) err
 	if bot == nil {
 		return fmt.Errorf("ServBots.BotStart(): bot(%v) not found", botNumber)
 	}
-	err := bot.Пуск()
-	if err != nil {
-		return fmt.Errorf("ServBots.BotStart(): in run bot(%v), err=\n\t%w", botNumber, err)
-	}
+	bot.Пуск()
 	return nil
 }
 

+ 6 - 6
server/serv_bots/warbot/angar/angar.go

@@ -2,9 +2,9 @@ package angar
 
 import (
 	"fmt"
+	"log"
 	"sync"
 	"time"
-	"log"
 
 	"strconv"
 	"strings"
@@ -93,7 +93,7 @@ func НовАнгар(bot types.ИБот) (*Ангар, error) {
 	}
 	сам := &Ангар{
 		Секция:        section,
-		слог: bot.Сервер().Слог(),
+		слог:          bot.Сервер().Слог(),
 		бот:           bot,
 		золото:        золото,
 		уровень:       уровень,
@@ -166,8 +166,8 @@ func НовАнгар(bot types.ИБот) (*Ангар, error) {
 // Обновить -- обновить ангар принудиельно
 func (сам *Ангар) Обновить() {
 	сам.РесурсыОбновить()
-	ош:=сам.сетьТанкСтат.Update()
-	if ош!=nil{
+	ош := сам.сетьТанкСтат.Update()
+	if ош != nil {
 		сам.слог.Инфо("НовАнгар(): при обновлении статистики, ош=\n\t%w\n", ош)
 		сам.бот.Сервер().Отменить()
 		return
@@ -211,8 +211,8 @@ func (сам *Ангар) Пуск() error {
 		return true
 	}
 	go func() {
-		ош:=сам.Секция.ОбратВремяУст("01")
-		if ош!=nil{
+		ош := сам.Секция.ОбратВремяУст("01")
+		if ош != nil {
 			сам.слог.Ошибка("Ангар.Run(): in update ICountTime, ош=\n\t%w\n", ош)
 			сам.бот.Сервер().Отменить()
 			return

+ 3 - 4
server/serv_bots/warbot/angar/base/mine/mine.go

@@ -294,8 +294,8 @@ func (сам *Шахта) ускорениеПровер() {
 	}
 	// <span class="green2">Шахта - 0</span><br/>
 	var (
-		еслиНайти = false
-		стр       = ""
+		еслиНайти bool
+		стр       string
 	)
 	for _, стр = range списСтр {
 		if strings.Contains(стр, `<span class="green2">Шахта - `) {
@@ -679,8 +679,7 @@ func (сам *Шахта) рудаСделать() bool {
 		// log._rintf("ERRO Шахта.сделатьРуду(): при GET-команде 'начать производство руды', err=\n\t%v\n", err)
 		return false
 	}
-	еслиНайдено = false
-	for инд, стрВых = range lstMine {
+	for _, стрВых = range lstMine {
 		if strings.Contains(стрВых, `><span><span>Начать производство</span></span></a>`) {
 			return false
 		}

+ 5 - 1
server/serv_bots/warbot/angar/base/polygon/polygon.go

@@ -399,7 +399,11 @@ func (сам *Полигон) усилениеПровер() {
 func (сам *Полигон) усилениеДобавить() {
 	if ош := сам.сеть.Обновить(); ош != nil {
 		// log._rintf("Polygon.checkPolygon(): при принудительном обновлении lstPlygon, mode=%s\terr=\n\t%v\n", сам.ModeCurrent().Get(), err)
-		сам.ОбратВремяУст("05")
+		if err := сам.ОбратВремяУст("05"); err != nil {
+			log.Printf("Polygon.checkPolygon(): при принудительном обновлении обратного времени, время=`05`\terr=\n\t%v\n", err)
+			сам.бот.Сервер().Отменить()
+			return
+		}
 		return
 	}
 	lstPoligon := сам.СписПолучить()

+ 1 - 1
server/serv_bots/warbot/angar/battle/battle_register/battle_register.go

@@ -44,7 +44,7 @@ func (сам *СхваткаРегистрация) Зарегистрирова
 	// https://wartank.ru/pve?{count}-1.ILinkListener-currentOverview-apply
 	фнРегис := func() []string {
 		стрСсылка := "https://wartank.ru/pve?0-1.ILinkListener-currentOverview-apply"
-		стрКонтроль := "https://wartank.ru/pve?0-1.ILinkListener-currentOverview-apply"
+		var стрКонтроль string //  "https://wartank.ru/pve?0-1.ILinkListener-currentOverview-apply"
 		for {
 			time.Sleep(time.Second * 1)
 			лстСражение, err := сам.сеть.Get(стрСсылка)

+ 6 - 9
server/serv_bots/warbot/angar/battle/battle_worker/battleon/manevr/manevr.go

@@ -102,11 +102,8 @@ func (сам *Манёвр) времяМанёврНайти() {
 	{ // Найти время манёвра
 		lstTime := strings.Split(strOut, `ILinkListener-currentControl-maneuverLink" class="simple-but blue"><span><span>`)
 		if len(lstTime) != 2 {
-			logrus.WithField("ind", ind).
-				WithField("lstBattleOn[-1]", lstBattleOn[ind-1]).
-				WithField("lstBattleOn[ind]", strOut).
-				WithField("lstBattleOn[+1]", lstBattleOn[ind+1]).
-				Errorf("Manevr.findManevrTime(): нет двух полей во времени ожидания")
+			log.Printf("Manevr.findManevrTime(): нет двух полей во времени ожидания, ind=%v, lstBattleOn[-1]=%v, lstBattleOn[ind]=%v, lstBattleOn[+1]=%v",
+				ind, lstBattleOn[ind-1], strOut, lstBattleOn[ind+1])
 			сам.Отменить()
 			return
 		}
@@ -114,12 +111,12 @@ func (сам *Манёвр) времяМанёврНайти() {
 		lstTime = strings.Split(strTime, ` секунд</span></span></a>`)
 		strTime = lstTime[0]
 		if err := сам.времяЖдать.Set(strTime); err != nil {
-			logrus.WithError(err).Error("Manevr.findManevrTime(): при обновлении времени ожидания манёвра")
+			log.Println("Manevr.findManevrTime(): при обновлении времени ожидания манёвра")
 			сам.Отменить()
 			return
 		}
 	}
-	logrus.WithField("время", сам.времяЖдать.Получ()).Info("Manevr.findManevrTime(): до манёвра")
+	log.Printf("Manevr.findManevrTime(): до манёвра %v\n", сам.времяЖдать.Получ())
 }
 
 // Манёвр по возможности
@@ -146,12 +143,12 @@ func (сам *Манёвр) манёвр() {
 		strLink = "https://wartank.ru/" + lstLink[0]
 		lstBattleOn, err := сам.Сеть().Get(strLink)
 		if err != nil {
-			logrus.WithError(err).Error("Manevr.Manevr(): при выполнении GET-команды маневра")
+			log.Printf("Manevr.Manevr(): при выполнении GET-команды маневра, err=\n\t%v\n", err)
 			сам.Отменить()
 			return
 		}
 		if err = сам.СтрОбновить(lstBattleOn); err != nil {
-			logrus.WithError(err).Error("Manevr.Manevr(): при обновлении lstBattle")
+			log.Printf("Manevr.Manevr(): при обновлении lstBattle, err=\n\t%v\n", err)
 			сам.Отменить()
 			return
 		}

+ 12 - 4
server/serv_bots/warbot/angar/convoy/convoy.go

@@ -138,8 +138,8 @@ func (сам *Конвой) обновитьВремя() {
 	// Время подходит надо обновляться
 	if err := сам.net.Обновить(); err != nil {
 		log.Printf("Конвой.обновитьВремя(): при выполнении GET-команды обновления, err=\n\t%v\n", err)
-		ош:=сам.ОбратВремяУст("20")
-		if ош!=nil {
+		ош := сам.ОбратВремяУст("20")
+		if ош != nil {
 			log.Printf("Конвой.обновитьВремя(): при обновлении времени, ош=\n\t%v\n", ош)
 			сам.бот.Сервер().Отменить()
 			return
@@ -183,7 +183,11 @@ func (сам *Конвой) обновитьВремя() {
 		strLastTime = lstTime[1]
 		if err := сам.Уст(alias.Время(strLastTime)); err != nil {
 			// log._rintf("WARN Конвой.обновитьВремя(): при установке времени ожидания конвоя(%v)\n\terr=%v\n", strLastTime, err)
-			сам.ОбратВремяУст("10")
+			err := сам.ОбратВремяУст("10")
+			if err != nil {
+				log.Printf("Конвой.обновитьВремя(): при установке времени ожидания конвоя(%v)\n\terr=%v\n", strLastTime, err)
+				сам.бот.Сервер().Отменить()
+			}
 		}
 	case isMask: // Если маскировка между конвоями
 		// Ждём окончания ожидания конвоя
@@ -191,7 +195,11 @@ func (сам *Конвой) обновитьВремя() {
 		strLastTime = lstTime[1]
 		if err := сам.Уст(alias.Время(strLastTime)); err != nil {
 			// log._rintf("ERRO BКонвой.обновитьВремя(): при установке времени банка для 1го режима(%v)\n\terr=%v\n", strLastTime, err)
-			сам.ОбратВремяУст("10")
+			err := сам.ОбратВремяУст("10")
+			if err != nil {
+				log.Printf("Конвой.обновитьВремя(): при установке времени банка для 1го режима(%v)\n\terr=%v\n", strLastTime, err)
+				сам.бот.Сервер().Отменить()
+			}
 		}
 	}
 }

+ 5 - 5
server/serv_bots/warbot/angar/death_match/death_worker/death_on/shottime/shottime.go

@@ -35,8 +35,8 @@ func (сам *ShotTime) Dec5() {
 	сам.block.Lock()
 	defer сам.block.Unlock()
 	сам.val -= 5
-	if сам.val < 0 {
-		сам.val = 0
+	if сам.val > 10_000 {
+		сам.val = 10_000
 	}
 }
 
@@ -45,8 +45,8 @@ func (сам *ShotTime) Dec30() {
 	сам.block.Lock()
 	defer сам.block.Unlock()
 	сам.val -= 30
-	if сам.val < 0 {
-		сам.val = 0
+	if сам.val > 10_000 {
+		сам.val = 10_000
 	}
 }
 
@@ -68,7 +68,7 @@ func (сам *ShotTime) IsZero() bool {
 func (сам *ShotTime) Set(val alias.МилСек) {
 	сам.block.Lock()
 	defer сам.block.Unlock()
-	if val < 0 {
+	if val > 10_0000 {
 		logrus.WithField("val", val).Error("ShotTime.Set(): отрицательное значение")
 		return
 	}

+ 2 - 2
server/serv_bots/warbot/angar/division/division.go

@@ -1,7 +1,7 @@
 package division
 
 import (
-	"wartank/server/serv_bots/warbot/angar/division/divwar"
+// "wartank/server/serv_bots/warbot/angar/division/divwar"
 )
 
 /*
@@ -10,5 +10,5 @@ import (
 
 // Division -- дивизия и все объекты в ней
 type Division struct {
-	divwar *divwar.DivWar // Битва дивизий
+	// divwar *divwar.DivWar // Битва дивизий
 }

+ 2 - 2
server/serv_bots/warbot/angar/division/divwar/divwaron/shot/shot.go

@@ -172,8 +172,8 @@ func (сам *Shot) shot() {
 // Ищет урон от выстрела
 func (сам *Shot) findDamage() {
 	var (
-		ind         = 0
-		еслиНайдено = false
+		ind         int
+		еслиНайдено bool
 		lstShot     = сам.СписПолучить()
 		strOut      string
 	)

+ 7 - 11
server/serv_bots/warbot/warbot.go

@@ -33,7 +33,7 @@ type ВарБот struct {
 }
 
 // ЗагрузитьВарБот -- загружает бота из базы
-func ЗагрузитьВарБот(сервер types.ИСервер, номер alias.БотНомер) (*ВарБот, error) {
+func ЗагрузитьВарБот(сервер types.ИСервер, номер alias.БотНомер) (types.ИБот, error) {
 	{ // Предусловия
 		if сервер == nil {
 			return nil, fmt.Errorf("ЗагрузитьВарБот(): IApp is nil")
@@ -60,18 +60,14 @@ func ЗагрузитьВарБот(сервер types.ИСервер, номе
 	if err != nil {
 		return nil, fmt.Errorf("ЗагрузитьВарБот(): in make core for bot '%v', err=\n\t%w", номер, err)
 	}
-	// go сам.рестарт()
+	go сам.рестарт()
 	return сам, nil
 }
 
 // Каждые два часа перезапускает себя
 func (сам *ВарБот) рестарт() {
 	time.Sleep(time.Hour * 2)
-	сам.Закончить()
-	сам, ош := ЗагрузитьВарБот(сам.сервер, сам.конфиг.Номер_)
-	if ош != nil {
-		panic(fmt.Errorf("ВарБот.рестарт(): при загрузке своего тела, ош=\n\t%w", ош))
-	}
+	сам.сервер.Отменить()
 	log.Printf("ВарБот.рестарт(): бот %q перезагружен\n", сам.конфиг.Логин_)
 }
 
@@ -174,15 +170,15 @@ func (сам *ВарБот) Пароль() string {
 }
 
 // Пуск -- запускает бот в работу
-func (сам *ВарБот) Пуск() (err error) {
+func (сам *ВарБот) Пуск() {
 	if сам.еслиРаботает.Получ() {
-		return nil
+		return
 	}
 	if err := сам.ангар.Пуск(); err != nil {
-		return fmt.Errorf("WarBot.Run(): bot(%q) in run angar, err=\n\t%w", сам.Имя(), err)
+		log.Printf("WarBot.Run(): bot(%q) in run angar, err=\n\t%v\n", сам.Имя(), err)
+		return
 	}
 	сам.еслиРаботает.Уст()
-	return nil
 }
 
 // Error -- возвращает финальную ошибку работы, если была

+ 13 - 0
vendor/github.com/google/uuid/CHANGELOG.md

@@ -1,5 +1,18 @@
 # Changelog
 
+## [1.6.0](https://github.com/google/uuid/compare/v1.5.0...v1.6.0) (2024-01-16)
+
+
+### Features
+
+* add Max UUID constant ([#149](https://github.com/google/uuid/issues/149)) ([c58770e](https://github.com/google/uuid/commit/c58770eb495f55fe2ced6284f93c5158a62e53e3))
+
+
+### Bug Fixes
+
+* fix typo in version 7 uuid documentation ([#153](https://github.com/google/uuid/issues/153)) ([016b199](https://github.com/google/uuid/commit/016b199544692f745ffc8867b914129ecb47ef06))
+* Monotonicity in UUIDv7 ([#150](https://github.com/google/uuid/issues/150)) ([a2b2b32](https://github.com/google/uuid/commit/a2b2b32373ff0b1a312b7fdf6d38a977099698a6))
+
 ## [1.5.0](https://github.com/google/uuid/compare/v1.4.0...v1.5.0) (2023-12-12)
 
 

+ 6 - 0
vendor/github.com/google/uuid/hash.go

@@ -17,6 +17,12 @@ var (
 	NameSpaceOID  = Must(Parse("6ba7b812-9dad-11d1-80b4-00c04fd430c8"))
 	NameSpaceX500 = Must(Parse("6ba7b814-9dad-11d1-80b4-00c04fd430c8"))
 	Nil           UUID // empty UUID, all zeros
+
+	// The Max UUID is special form of UUID that is specified to have all 128 bits set to 1.
+	Max = UUID{
+		0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+		0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+	}
 )
 
 // NewHash returns a new UUID derived from the hash of space concatenated with

+ 34 - 5
vendor/github.com/google/uuid/version7.go

@@ -44,7 +44,7 @@ func NewV7FromReader(r io.Reader) (UUID, error) {
 
 // makeV7 fill 48 bits time (uuid[0] - uuid[5]), set version b0111 (uuid[6])
 // uuid[8] already has the right version number (Variant is 10)
-// see function  NewV7 and NewV7FromReader
+// see function NewV7 and NewV7FromReader
 func makeV7(uuid []byte) {
 	/*
 		 0                   1                   2                   3
@@ -52,7 +52,7 @@ func makeV7(uuid []byte) {
 		+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 		|                           unix_ts_ms                          |
 		+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-		|          unix_ts_ms           |  ver  |       rand_a          |
+		|          unix_ts_ms           |  ver  |  rand_a (12 bit seq)  |
 		+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 		|var|                        rand_b                             |
 		+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
@@ -61,7 +61,7 @@ func makeV7(uuid []byte) {
 	*/
 	_ = uuid[15] // bounds check
 
-	t := timeNow().UnixMilli()
+	t, s := getV7Time()
 
 	uuid[0] = byte(t >> 40)
 	uuid[1] = byte(t >> 32)
@@ -70,6 +70,35 @@ func makeV7(uuid []byte) {
 	uuid[4] = byte(t >> 8)
 	uuid[5] = byte(t)
 
-	uuid[6] = 0x70 | (uuid[6] & 0x0F)
-	// uuid[8] has already has right version
+	uuid[6] = 0x70 | (0x0F & byte(s>>8))
+	uuid[7] = byte(s)
+}
+
+// lastV7time is the last time we returned stored as:
+//
+//	52 bits of time in milliseconds since epoch
+//	12 bits of (fractional nanoseconds) >> 8
+var lastV7time int64
+
+const nanoPerMilli = 1000000
+
+// getV7Time returns the time in milliseconds and nanoseconds / 256.
+// The returned (milli << 12 + seq) is guarenteed to be greater than
+// (milli << 12 + seq) returned by any previous call to getV7Time.
+func getV7Time() (milli, seq int64) {
+	timeMu.Lock()
+	defer timeMu.Unlock()
+
+	nano := timeNow().UnixNano()
+	milli = nano / nanoPerMilli
+	// Sequence number is between 0 and 3906 (nanoPerMilli>>8)
+	seq = (nano - milli*nanoPerMilli) >> 8
+	now := milli<<12 + seq
+	if now <= lastV7time {
+		now = lastV7time + 1
+		milli = now >> 12
+		seq = now & 0xfff
+	}
+	lastV7time = now
+	return milli, seq
 }

+ 1 - 1
vendor/modules.txt

@@ -30,7 +30,7 @@ github.com/gofiber/utils
 # github.com/golang/snappy v0.0.4
 ## explicit
 github.com/golang/snappy
-# github.com/google/uuid v1.5.0
+# github.com/google/uuid v1.6.0
 ## explicit
 github.com/google/uuid
 # github.com/klauspost/compress v1.17.4