first commit
This commit is contained in:
60
Makefile
Normal file
60
Makefile
Normal file
@@ -0,0 +1,60 @@
|
||||
PROTOC := C:/Users/SSAFY/AppData/Local/Microsoft/WinGet/Packages/Google.Protobuf_Microsoft.Winget.Source_8wekyb3d8bbwe/bin/protoc.exe
|
||||
GOPATH_BIN := $(shell go env GOPATH)/bin
|
||||
|
||||
.PHONY: build run proto proto-unity proto-all clean test testclient
|
||||
|
||||
# Build the server binary.
|
||||
build:
|
||||
go build -o bin/server.exe ./cmd/server
|
||||
|
||||
# Run the server.
|
||||
run:
|
||||
go run ./cmd/server -config config/config.yaml
|
||||
|
||||
# Generate Go server code from protobuf.
|
||||
proto:
|
||||
PATH="$(GOPATH_BIN):$(PATH)" $(PROTOC) \
|
||||
--go_out=proto/gen/pb \
|
||||
--go_opt=paths=source_relative \
|
||||
--proto_path=proto \
|
||||
proto/messages.proto
|
||||
|
||||
# Generate C# Unity client code from protobuf.
|
||||
proto-unity:
|
||||
$(PROTOC) \
|
||||
--csharp_out=./unity/Assets/Scripts/Proto \
|
||||
--proto_path=./proto \
|
||||
proto/messages.proto
|
||||
|
||||
# Generate both Go and C# at once.
|
||||
proto-all: proto proto-unity
|
||||
|
||||
# Clean build artifacts.
|
||||
clean:
|
||||
rm -rf bin/
|
||||
|
||||
# Run tests.
|
||||
test:
|
||||
go test ./... -v -race
|
||||
|
||||
# Run with AOI disabled for comparison.
|
||||
run-no-aoi:
|
||||
AOI_ENABLED=false go run ./cmd/server -config config/config.yaml
|
||||
|
||||
# Run the WebSocket test client (server must be running).
|
||||
testclient:
|
||||
go run ./cmd/testclient
|
||||
|
||||
# Run test client with specific scenario (auth|move|combat|metrics|all).
|
||||
testclient-auth:
|
||||
go run ./cmd/testclient -scenario auth
|
||||
|
||||
testclient-combat:
|
||||
go run ./cmd/testclient -scenario combat
|
||||
|
||||
testclient-metrics:
|
||||
go run ./cmd/testclient -scenario metrics
|
||||
|
||||
# Load test: 10 clients for 15 seconds.
|
||||
loadtest:
|
||||
go run ./cmd/testclient -clients 10 -duration 15s
|
||||
Reference in New Issue
Block a user