Skip to content

Go backend for Atlas multiplayer web game. Realtime two way communication πŸ” with blazing fast gRPC, on protobufs ⚑

Notifications You must be signed in to change notification settings

senorbeast/atlas-backend

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

27 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Atlas Backend

Architecture

Run the Project

In Docker Container

# Build the Docker image
docker-compose build

# Run the Docker container
docker-compose up

# Stop the container
docker-compose down

Directly

# Generate required files

# To run the app
go run *.go

go build -o ./bin        # builds binary in ./bin
go install               # installs app in $GOBIN or $GOPATH of the system.

Development

Using docker dev container

Generating files

Update as more proto defns are added

protoc --proto_path=internal/protobufs/assets --go_out=internal/protobufs --go_opt=paths=source_relative client_server_message.proto server_client_message.proto player_data.proto other_payloads.proto game_message_payload.proto chat_message_payload.proto

Folder structure

β”œβ”€β”€ bin
β”‚   └── atlas-backend
β”œβ”€β”€ go.mod
β”œβ”€β”€ go.sum
β”œβ”€β”€ internal        # internal packages
β”‚   β”œβ”€β”€ game_room
β”‚   β”‚   β”œβ”€β”€ data_models.go
β”‚   β”‚   └── game_room.go
β”‚   β”œβ”€β”€ protobufs   # protobuf defs and gens
β”‚   β”‚   β”œβ”€β”€ game.pb.go
β”‚   β”‚   └── game.proto
β”‚   └── web_socket
β”‚       └── websocket_handler.go
β”œβ”€β”€ main.go         # entry point
β”œβ”€β”€ packages        # exportable packages
β”œβ”€β”€ README.md
└── tests
    └── test_client.go

About

Go backend for Atlas multiplayer web game. Realtime two way communication πŸ” with blazing fast gRPC, on protobufs ⚑

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published