littlebot
Published on 2025-04-08 / 2 Visits
0

【源码】基于Go语言的开服排队系统

项目简介

本项目是基于Go语言开发的开服排队系统,名为QueueService。其主要作用是在开服时对大量到达服务器的用户进行队列缓冲,依据服务器压力情况,逐步为队列中的用户发放登录服务器的令牌(token),以此缓解登录高峰。排队中的用户能够“实时”知晓自己在队伍中的位置变更。

项目的主要特性和功能

已支持功能

  1. 实时位置查询与登录:排队用户可实时查询自己所处位置,排到后异步返回登录服务器令牌(token)并进入游戏,且不允许重复排队。
  2. 用户退出处理:正在排队的用户可退出队列,系统从缓存中踢出该用户,其他用户位置暂不变,处理到该用户消息时直接跳过,后续用户位置才真正变化。
  3. 数据监控:开发人员能实时查看游戏中的用户数和正在排队的用户数。

待开发功能

  1. 游戏中用户退出:支持正在游戏的用户退出功能。
  2. 专用登录队列:增加vip、大v用户专用登录队列。
  3. 自定义协议心跳包:加入自定义协议心跳包。

安装使用步骤

假设用户已经下载了本项目的源码文件,按以下步骤操作: 1. 编译服务端:进入 QueueService/app/server 目录,执行 go build server.go 命令编译服务端程序。 2. 编译客户端:进入 QueueService/app/client 目录,执行 go build client.go 命令编译客户端程序。 3. 运行测试用例:在 QueueService/app/client 目录下,执行 go test -test.run TestClient 命令运行测试用例。注意,需手动修改客户端连接服务器的ip和端口,服务器配置文件位于 QueueService/conf/config.json。 4. 退出程序:使用 control + c 退出程序。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】