# simple_game **Repository Path**: wyx99/simple_game ## Basic Information - **Project Name**: simple_game - **Description**: golang实现的游戏服务器 - **Primary Language**: Go - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2022-05-04 - **Last Updated**: 2024-06-25 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README simple_game : Actor模型的golang游戏服务器框架 ### 项目目录设计 ### 命令相关 > 项目初始化 ```shell go env -w GO111MODULE=on go env -w GOPROXY=https://goproxy.cn,direct cd game go mod tidy 修改 ./app/config/config.yaml 文件 运行 main.go ``` > 生成 pro - cd /simple_game/game/protos - protoc -I=. --go_out=. ./*.proto - 或者执行 make pt > 生成 grpc - 安装执行文件 - $ go install google.golang.org/protobuf/cmd/protoc-gen-go@v1.28 $ go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@v1.2 - 生成grpc协议 - cd /simple_game/game/protos - protoc --go_out=. --go-grpc_out=. *.proto - 或者执行 make pt > 打包 client客户端 - cd /app/client - go build -o client1 client1.go - go build -o client2 client2.go > 性能分析 - 监听的http端口地址 - go tool pprof --http=:1234 go tool pprof http://127.0.0.1:4890/debug/pprof/heap > 设计 - 网络 - Tcp - 支持tpc连接通过protobuff数据格式进行通信 - Http - 支持Http连接 - Grpc - 支持Grpc远程调用 - Actor模型 - 协程之间通信 - 每个协程数据隔离 - 通过通信去获取不同协程的数据 - 持久化 - 支持mysql 处理冷数据 - 支持redis 处理热数据 - 定时器 - 日志模块 - 路由模块 - 测试客户端 - MakeFile 生成协议