27 lines
402 B
Go
27 lines
402 B
Go
package controllers
|
|
|
|
import (
|
|
"log"
|
|
"net/http"
|
|
"server/models"
|
|
"sync"
|
|
)
|
|
|
|
type Hub struct {
|
|
Players map[uint32]*models.Player
|
|
Mu sync.RWMutex
|
|
}
|
|
|
|
func NewHub() *Hub {
|
|
return &Hub{
|
|
Players: make(map[uint32]*models.Player),
|
|
}
|
|
}
|
|
|
|
func (h *Hub) Start() {
|
|
go h.updateWorld()
|
|
http.HandleFunc("/ws", h.ws)
|
|
log.Println("Server listen port 8080")
|
|
log.Fatal(http.ListenAndServe(":8080", nil))
|
|
}
|