Initial commit

This commit is contained in:
Geoff Bourne
2018-05-07 22:16:01 -05:00
commit 17a4bd6515
10 changed files with 658 additions and 0 deletions
+42
View File
@@ -0,0 +1,42 @@
package main
import (
"net"
"github.com/itzg/mc-router/server"
"github.com/alecthomas/kingpin"
"strconv"
"github.com/sirupsen/logrus"
"context"
"os"
"os/signal"
)
var (
port = kingpin.Flag("port", "The port bound to listen for Minecraft client connections").
Default("25565").Int()
apiBinding = kingpin.Flag("api-binding", "The host:port bound for servicing API requests").
String()
mappings = kingpin.Flag("mapping", "Mapping of external hostname to internal server host:port").
StringMap()
)
func main() {
kingpin.Parse()
ctx, cancel := context.WithCancel(context.Background())
c := make(chan os.Signal, 1)
signal.Notify(c)
server.Routes.RegisterAll(*mappings)
server.Connector.StartAcceptingConnections(ctx, net.JoinHostPort("", strconv.Itoa(*port)))
if *apiBinding != "" {
server.StartApiServer(*apiBinding)
}
<-c
logrus.Info("Stopping")
cancel()
}