condense status
parent
0903c01b9a
commit
5c3341e260
|
|
@ -199,19 +199,30 @@ func (v01 *V01) serveGM(w http.ResponseWriter, r *http.Request) {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (v01 *V01) serveGMStatus(w io.Writer) {
|
func (v01 *V01) serveGMStatus(w io.Writer) {
|
||||||
users := map[string]struct {
|
type user struct {
|
||||||
Lag time.Duration `yaml:"lag,omitempty"`
|
Lag time.Duration `yaml:"lag,omitempty"`
|
||||||
Player int `yaml:"player,omitempty"`
|
Player int `yaml:"player,omitempty"`
|
||||||
IdleFor time.Duration `yaml:"idle_for,omitempty"`
|
IdleFor time.Duration `yaml:"idle_for,omitempty"`
|
||||||
}{}
|
}
|
||||||
|
|
||||||
|
users := map[string]string{}
|
||||||
for k, v := range v01.cfg.Users {
|
for k, v := range v01.cfg.Users {
|
||||||
v2 := users[k]
|
player := ""
|
||||||
v2.Lag = time.Duration(v.Meta.LastLag) * time.Millisecond
|
if v.State.Player > 0 {
|
||||||
v2.Player = v.State.Player
|
player = fmt.Sprintf("Player %v", v.State.Player)
|
||||||
if v.Meta.LastTSMS > 0 {
|
|
||||||
v2.IdleFor = time.Since(time.Unix(0, v.Meta.LastTSMS*int64(time.Millisecond)))
|
|
||||||
}
|
}
|
||||||
users[k] = v2
|
|
||||||
|
lag := ""
|
||||||
|
if v.Meta.LastLag > 0 && v.Meta.LastLag < 100000 {
|
||||||
|
lag = (time.Duration(v.Meta.LastLag) * time.Millisecond).String()
|
||||||
|
}
|
||||||
|
|
||||||
|
last := ""
|
||||||
|
if v.Meta.LastTSMS > 0 {
|
||||||
|
last = fmt.Sprintf("no activity for %s", time.Since(time.Unix(0, v.Meta.LastTSMS*int64(time.Millisecond))))
|
||||||
|
}
|
||||||
|
|
||||||
|
users[k] = fmt.Sprintf("%s %s %s", player, lag, last)
|
||||||
}
|
}
|
||||||
yaml.NewEncoder(w).Encode(map[string]interface{}{
|
yaml.NewEncoder(w).Encode(map[string]interface{}{
|
||||||
"Players": len(v01.cfg.Players),
|
"Players": len(v01.cfg.Players),
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue