@@ -9,13 +9,15 @@ import (
99 "net/http"
1010 "os"
1111 "os/signal"
12+ "strings"
1213 "syscall"
1314)
1415
1516var address = flag .String ("address" , "localhost:8081" , "The address on which the UI and API is served" )
1617var visionAddress = flag .String ("visionAddress" , "" , "The address (ip+port) from which vision packages are received" )
1718var publishAddress = flag .String ("publishAddress" , "" , "The address (ip+port) to which referee command should be sent" )
1819var timeAcquisitionMode = flag .String ("timeAcquisitionMode" , "" , "The time acquisitionMode to use (system, ci, vision)" )
20+ var skipInterfaces = flag .String ("skipInterfaces" , "" , "Comma separated list of interface names to ignore when receiving multicast packets" )
1921
2022const configFileName = "config/ssl-game-controller.yaml"
2123
@@ -43,6 +45,9 @@ func setupGameController() {
4345 if timeAcquisitionMode != nil && * timeAcquisitionMode != "" {
4446 cfg .TimeAcquisitionMode = config .TimeAcquisitionMode (* timeAcquisitionMode )
4547 }
48+ if skipInterfaces != nil && * skipInterfaces != "" {
49+ cfg .Network .SkipInterfaces = parseSkipInterfaces ()
50+ }
4651
4752 gameController := gc .NewGameController (cfg )
4853 gameController .Start ()
@@ -68,3 +73,7 @@ func setupUi() {
6873 log .Print ("Backend-only version started. Run the UI separately or get a binary that has the UI included" )
6974 }
7075}
76+
77+ func parseSkipInterfaces () []string {
78+ return strings .Split (* skipInterfaces , "," )
79+ }
0 commit comments