diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 98181f0..bc8a60b 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -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 diff --git a/README.md b/README.md index 4bf01c9..639d3c4 100644 --- a/README.md +++ b/README.md @@ -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