mirror of
https://github.com/statbate/fantastic-engine.git
synced 2026-08-11 03:02:41 +00:00
update
This commit is contained in:
parent
0c18a2d2f1
commit
a8342b4f3c
1 changed files with 21 additions and 23 deletions
|
|
@ -1,6 +1,7 @@
|
||||||
package main
|
package main
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"encoding/base64"
|
||||||
"fmt"
|
"fmt"
|
||||||
"github.com/gorilla/websocket"
|
"github.com/gorilla/websocket"
|
||||||
"net/http"
|
"net/http"
|
||||||
|
|
@ -8,7 +9,6 @@ import (
|
||||||
"strconv"
|
"strconv"
|
||||||
"strings"
|
"strings"
|
||||||
"time"
|
"time"
|
||||||
"encoding/base64"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
var uptime = time.Now().Unix()
|
var uptime = time.Now().Unix()
|
||||||
|
|
@ -104,21 +104,21 @@ func getWS(workerData Info, key []byte) string {
|
||||||
HandshakeTimeout: 45 * time.Second, // https://pkg.go.dev/github.com/gorilla/websocket
|
HandshakeTimeout: 45 * time.Second, // https://pkg.go.dev/github.com/gorilla/websocket
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
u := url.URL{Scheme: "wss", Host: "node2-ord.livemediahost.com:3000"}
|
u := url.URL{Scheme: "wss", Host: "node2-ord.livemediahost.com:3000"}
|
||||||
c, _, err := Dialer.Dial(u.String(), nil)
|
c, _, err := Dialer.Dial(u.String(), nil)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Println(err.Error(), u.String(), workerData.room)
|
fmt.Println(err.Error(), u.String(), workerData.room)
|
||||||
return ""
|
return ""
|
||||||
}
|
}
|
||||||
|
|
||||||
defer c.Close()
|
defer c.Close()
|
||||||
|
|
||||||
if err = c.WriteMessage(websocket.TextMessage, []byte(`["v3.authorize",{"token":"`+string(key)+`"}]`)); err != nil {
|
if err = c.WriteMessage(websocket.TextMessage, []byte(`["v3.authorize",{"token":"`+string(key)+`"}]`)); err != nil {
|
||||||
fmt.Println(err.Error())
|
fmt.Println(err.Error())
|
||||||
return ""
|
return ""
|
||||||
}
|
}
|
||||||
|
|
||||||
for {
|
for {
|
||||||
c.SetReadDeadline(time.Now().Add(45 * time.Second))
|
c.SetReadDeadline(time.Now().Add(45 * time.Second))
|
||||||
_, message, err := c.ReadMessage()
|
_, message, err := c.ReadMessage()
|
||||||
|
|
@ -151,7 +151,7 @@ func getWS(workerData Info, key []byte) string {
|
||||||
return input.Url
|
return input.Url
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return ""
|
return ""
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -164,12 +164,11 @@ func xWorker(workerData Info) {
|
||||||
rooms.Del <- workerData.room
|
rooms.Del <- workerData.room
|
||||||
}()
|
}()
|
||||||
|
|
||||||
|
|
||||||
if len(workerData.Key) < 50 {
|
if len(workerData.Key) < 50 {
|
||||||
fmt.Println(workerData.Key, workerData.room)
|
fmt.Println(workerData.Key, workerData.room)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
key, err := base64.StdEncoding.DecodeString(workerData.Key)
|
key, err := base64.StdEncoding.DecodeString(workerData.Key)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Println(err, workerData.room)
|
fmt.Println(err, workerData.room)
|
||||||
|
|
@ -202,22 +201,22 @@ func xWorker(workerData Info) {
|
||||||
}
|
}
|
||||||
|
|
||||||
defer c.Close()
|
defer c.Close()
|
||||||
|
|
||||||
if err = c.WriteMessage(websocket.TextMessage, []byte(`["v3.authorize",{"token":"`+string(key)+`"}]`)); err != nil {
|
if err = c.WriteMessage(websocket.TextMessage, []byte(`["v3.authorize",{"token":"`+string(key)+`"}]`)); err != nil {
|
||||||
fmt.Println(err.Error(), workerData.room)
|
fmt.Println(err.Error(), workerData.room)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
dons := make(map[string]struct{})
|
dons := make(map[string]struct{})
|
||||||
|
|
||||||
ticker := time.NewTicker(60 * 60 * 8 * time.Second)
|
ticker := time.NewTicker(60 * 60 * 8 * time.Second)
|
||||||
defer ticker.Stop()
|
defer ticker.Stop()
|
||||||
|
|
||||||
var income int64
|
var income int64
|
||||||
income = 0
|
income = 0
|
||||||
|
|
||||||
for {
|
for {
|
||||||
|
|
||||||
select {
|
select {
|
||||||
case <-ticker.C:
|
case <-ticker.C:
|
||||||
fmt.Println("too_long exit:", workerData.room)
|
fmt.Println("too_long exit:", workerData.room)
|
||||||
|
|
@ -227,7 +226,7 @@ func xWorker(workerData Info) {
|
||||||
return
|
return
|
||||||
default:
|
default:
|
||||||
}
|
}
|
||||||
|
|
||||||
c.SetReadDeadline(time.Now().Add(30 * time.Minute))
|
c.SetReadDeadline(time.Now().Add(30 * time.Minute))
|
||||||
_, message, err := c.ReadMessage()
|
_, message, err := c.ReadMessage()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|
@ -240,20 +239,19 @@ func xWorker(workerData Info) {
|
||||||
|
|
||||||
now := time.Now().Unix()
|
now := time.Now().Unix()
|
||||||
slog <- saveLog{workerData.Rid, now, string(message)}
|
slog <- saveLog{workerData.Rid, now, string(message)}
|
||||||
|
|
||||||
if now > workerData.Last+60*60 {
|
if now > workerData.Last+60*60 {
|
||||||
fmt.Println("no_tips exit:", workerData.room)
|
fmt.Println("no_tips exit:", workerData.room)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
messageID := getMessageID(string(message))
|
messageID := getMessageID(string(message))
|
||||||
|
|
||||||
if messageID == 28 && strings.Contains(string(message), "offline") {
|
if messageID == 28 && strings.Contains(string(message), "offline") {
|
||||||
fmt.Println("offline:", workerData.room)
|
fmt.Println("offline:", workerData.room)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
if messageID == 27 {
|
if messageID == 27 {
|
||||||
input := struct {
|
input := struct {
|
||||||
Value int64 `json:"value"`
|
Value int64 `json:"value"`
|
||||||
|
|
@ -274,21 +272,21 @@ func xWorker(workerData Info) {
|
||||||
if input.Stealth || len(input.Username) < 3 {
|
if input.Stealth || len(input.Username) < 3 {
|
||||||
input.Username = "anon_tips"
|
input.Username = "anon_tips"
|
||||||
}
|
}
|
||||||
|
|
||||||
if _, ok := dons[input.Username]; !ok {
|
if _, ok := dons[input.Username]; !ok {
|
||||||
dons[input.Username] = struct{}{}
|
dons[input.Username] = struct{}{}
|
||||||
workerData.Dons++
|
workerData.Dons++
|
||||||
}
|
}
|
||||||
|
|
||||||
save <- saveData{workerData.room, strings.ToLower(input.Username), workerData.Rid, input.Value, now}
|
save <- saveData{workerData.room, strings.ToLower(input.Username), workerData.Rid, input.Value, now}
|
||||||
|
|
||||||
income += input.Value
|
income += input.Value
|
||||||
|
|
||||||
workerData.Tips++
|
workerData.Tips++
|
||||||
workerData.Last = now
|
workerData.Last = now
|
||||||
workerData.Income += input.Value
|
workerData.Income += input.Value
|
||||||
rooms.Add <- workerData
|
rooms.Add <- workerData
|
||||||
|
|
||||||
fmt.Println(input.Username, "send", input.Value, "tokens to", workerData.room)
|
fmt.Println(input.Username, "send", input.Value, "tokens to", workerData.room)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue