docs: README.md 及 CONTRIBUTING.md 完善

This commit is contained in:
kercylan98 2023-08-02 18:43:12 +08:00
parent 0db1e5c30b
commit 7cfdbb12a4
2 changed files with 44 additions and 66 deletions

View File

@ -1 +1,36 @@
敬请期待
# 贡献指南
感谢您对 Minotaur 项目的兴趣!
欢迎任何人的贡献,无论是新手还是有经验的开发者。以下是一些关于如何开始贡献的指导。
## 开始之前
1. **了解项目**:请先阅读项目的 [README.md](README.md) 和其他文档,了解项目的目的和结构。
2. **遵循行为准则**:请确保您的贡献符合我们的 [行为准则](CODE_OF_CONDUCT.md)。
## 报告问题
发现了问题或有新的想法?请通过 GitHub Issues 提交。
1. **查找现有问题**:在提交之前,请搜索现有的问题,看看是否有人已经报告了相同的问题。
2. **提供详细信息**:在报告问题时,请提供尽可能多的详细信息,包括错误消息、操作系统、版本号等。
## 贡献代码
想要为 Minotaur 项目贡献代码?请按照以下步骤操作:
1. **Fork 项目**:点击 GitHub 页面右上角的 "Fork" 按钮。
2. **克隆您的 Fork**:在您的本地计算机上克隆您的 Fork。
3. **创建新分支**:为您的修改创建一个新分支。
4. **提交您的更改**:在新分支上进行修改,并提交您的更改。
5. **发送 Pull Request**:返回您的 Fork 在 GitHub 上的页面,并点击 "New Pull Request" 按钮。
## 代码风格
请确保您的代码符合项目的编码风格和规范。
## 联系我们
如果您有任何问题或需要帮助,请通过以下方式与我取得联系:
- 发送电子邮件至kercylan@gmail.com

View File

@ -12,7 +12,7 @@ Minotaur 是一个基于Golang 1.20 编写的服务端开发支持库,其中
mindmap
root((Minotaur))
/configuration 配置管理功能
/game 游戏通用功能接口定义
/game 游戏通用功能
/builtin 游戏通用功能内置实现
/notify 通知功能接口定义
/planner 策划相关工具目录
@ -21,7 +21,7 @@ mindmap
/server 网络服务器支持
/cross 内置跨服功能实现
/router 内置路由器功能实现
/utils 常用辅助函数包
/utils 工具结构函数目录
```
## Server 架构预览
@ -63,7 +63,8 @@ chmod 777 ./local-doc.sh
```
#### 文档地址
**[http://localhost:9998/pkg/github.com/kercylan98/minotaur/](http://localhost:9998/pkg/github.com/kercylan98/minotaur/)**
- **[http://localhost:9998/pkg/github.com/kercylan98/minotaur/](http://localhost:9998/pkg/github.com/kercylan98/minotaur/)**
- **[https://pkg.go.dev/github.com/kercylan98/minotaur](https://pkg.go.dev/github.com/kercylan98/minotaur)**
### 简单示例
创建一个基于Websocket的回响服务器。
@ -87,69 +88,11 @@ func main() {
访问 **[WebSocket 在线测试](http://www.websocket-test.com/)** 进行验证。
> Websocket地址: ws://127.0.0.1:9999
### 事件
`Miontaur` 中,绝大多数场景都采用事件注册的方式进行回调,可通过`XXX.RegXXXEvent`的方式进行事件注册,例如:
```go
package main
### 持续更新的示例项目
- **[Minotaur-Example](https://github.com/kercylan98/minotaur-example)**
import (
"github.com/kercylan98/minotaur/server"
)
func main() {
srv := server.New(server.NetworkWebsocket)
srv.RegConsoleCommandEvent("command", nil)
srv.RegStartBeforeEvent(nil)
srv.RegStartFinishEvent(nil)
srv.RegConnectionClosedEvent(nil)
srv.RegConnectionOpenedEvent(nil)
srv.RegConnectionReceivePacketEvent(nil)
srv.RegReceiveCrossPacketEvent(nil)
srv.RegMessageErrorEvent(nil)
srv.RegMessageLowExecEvent(nil)
}
```
其他的一些支持事件的结构体(非所有):
- `game.Room` 游戏房间实现
- ...
### 可选项
大部分的 `New` 函数均可使用可选项进行创建,具体函数前缀通常为 `With`
```go
package main
import (
"github.com/kercylan98/minotaur/server"
)
func main() {
server.New(server.NetworkWebsocket,
server.WithTicker(50, false),
// ...
)
}
```
### 更多的网络模式
```go
package main
import (
"github.com/kercylan98/minotaur/server"
)
func main() {
server.New(server.NetworkTcp)
server.New(server.NetworkTcp4)
server.New(server.NetworkTcp6)
server.New(server.NetworkUdp)
server.New(server.NetworkUdp4)
server.New(server.NetworkUdp6)
server.New(server.NetworkWebsocket)
server.New(server.NetworkKcp)
server.New(server.NetworkUnix)
server.New(server.NetworkHttp)
server.New(server.NetworkGRPC)
}
```
### 参与贡献
请参考 **[CONTRIBUTING.md](CONTRIBUTING.md)** 贡献指南。
# JetBrains OS licenses