Files
justthefrax/main.go
2025-01-06 09:25:14 -08:00

35 lines
810 B
Go

package main
import (
"embed"
"flag"
"log"
"net/http"
)
//go:embed *.html
var pages embed.FS
var addr = flag.String("listen", ":8080", "http server listen address")
var host = flag.String("host", "localhost", "public http server canonical hostname")
func main() {
flag.Parse()
game := newGame()
log.Printf("Player link: http://%s/?token=%s", *host, tokenize(game.playerToken))
log.Printf("Host link: http://%s/host.html?token=%s", *host, tokenize(game.hostToken))
go game.run()
http.Handle("/", http.FileServer(http.FS(pages)))
http.HandleFunc("/player/ws", func(w http.ResponseWriter, r *http.Request) {
servePlayerWs(game, w, r)
})
http.HandleFunc("/host/ws", func(w http.ResponseWriter, r *http.Request) {
serveHostWs(game, w, r)
})
log.Fatal(http.ListenAndServe(*addr, nil))
}