Compare commits

...

3 Commits

Author SHA1 Message Date
640c5de108 feat: parameterize UT server data 2025-07-28 00:02:27 +02:00
7edd290c68 refactor: remove obsolete debug code 2025-07-27 23:51:22 +02:00
55ab0dbf4d ci: add Dockerfile 2025-07-27 23:50:46 +02:00
4 changed files with 19 additions and 63 deletions

3
.dockerignore Normal file
View File

@ -0,0 +1,3 @@
.git/
Dockerfile
bin/

11
Dockerfile Normal file
View File

@ -0,0 +1,11 @@
FROM golang:1.24-alpine AS build
WORKDIR /app/
COPY go.mod go.sum ./
RUN go mod download
COPY . .
RUN CGO_ENABLED=0 GOOS=linux go build -o bin/urbanterror-agones ./cmd/urbanterror-agones/
FROM alpine:3
WORKDIR /app/
COPY --from=build /app/bin/urbanterror-agones ./
ENTRYPOINT ["/app/urbanterror-agones"]

View File

@ -53,7 +53,7 @@ func (o *agonesObserver) GetID() string {
return o.id
}
func StartAgonesSidecar() error {
func StartAgonesSidecar(host string, port int) error {
slog.Info("Starting Urban Terror Agones sidecar")
// Create context
@ -61,7 +61,7 @@ func StartAgonesSidecar() error {
defer cancel()
// Create simple game client
client, err := q3c.New("localhost", 27960)
client, err := q3c.New(host, port)
if err != nil {
slog.Error("Failed to create new Quake3 client", "error", err)
return err

View File

@ -1,17 +1,15 @@
package main
import (
"context"
"flag"
"log/slog"
"os"
"time"
q3c "bp99.eu/ut-agones/internal/quake3/client"
)
func main() {
verbose := flag.Bool("v", false, "Enable debug verbosity")
host := flag.String("s", "localhost", "UT server hostname")
port := flag.Int("p", 27960, "UT server port")
flag.Parse()
level := slog.LevelInfo
@ -27,63 +25,7 @@ func main() {
),
)
if err := StartAgonesSidecar(); err != nil {
if err := StartAgonesSidecar(*host, *port); err != nil {
slog.Error("Agones sidecar error", "error", err)
}
}
func smain() {
slog.SetDefault(
slog.New(
slog.NewJSONHandler(
os.Stdout,
&slog.HandlerOptions{Level: slog.LevelDebug},
),
),
)
c, err := q3c.New("localhost", 27960)
if err != nil {
slog.Error("Failed to create client", "error", err)
return
} else {
slog.Info("Client created")
}
ticker := time.NewTicker(2 * time.Second)
defer ticker.Stop()
for {
select {
case <-ticker.C:
if err := c.Ping(); err != nil {
slog.Error("Failed to ping with client", "error", err)
} else {
slog.Info("Pinged client")
}
}
}
}
func xmain() {
slog.SetDefault(
slog.New(
slog.NewJSONHandler(
os.Stdout,
&slog.HandlerOptions{Level: slog.LevelDebug},
),
),
)
c, err := q3c.New("localhost", 27960)
if err != nil {
slog.Error("Failed to create client", "error", err)
return
} else {
slog.Info("Client created", "client", c)
}
ctx := context.Background()
q3c.NewRobust(ctx, c)
select {}
}