# foreworld **Repository Path**: weigeapp/foreworld ## Basic Information - **Project Name**: foreworld - **Description**: No description available - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-09-18 - **Last Updated**: 2025-12-10 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Foreworld 洪荒文字挂机修仙游戏 ## 项目介绍 Foreworld 是一个基于 Spring Boot 和 Vue.js 开发的文字挂机修仙游戏。游戏以中国上古神话中的"洪荒世界"为背景,融合挂机修炼、打怪、升级等核心玩法。 ## 技术栈 ### 后端 - Java 21 - Spring Boot 3.5.5 - Maven 项目管理 - MySQL 8.0 数据库 - Redis 缓存 - MyBatis-Plus ORM 框架 - Spring Security 安全框架 - JWT 认证 - Netty 网络通信 ### 前端 - Vue.js 3.x - Vite 构建工具 - Pinia 状态管理 - Vue Router 路由管理 ## 项目结构 ``` foreworld/ ├── foreworld-redis/ # Redis工具类和配置 ├── foreworld-core/ # 核心模块,包含共享组件如DTO、工具类、安全配置和注解 ├── foreworld-server/ # 业务逻辑服务和数据访问层 ├── foreworld-socket/ # WebSocket和Netty网络通信功能 ├── foreworld-web/ # REST API控制器和主应用入口 └── foreworld-ui/ # Vue前端项目 ``` 详细的模块依赖关系请参考 [DEPENDENCY_STRUCTURE.md](DEPENDENCY_STRUCTURE.md) ## 快速开始 ### 环境要求 - JDK 21+ - Maven 3.8+ - Node.js 16+ - MySQL 8.0+ - Redis 6.0+ ### 本地开发 1. 克隆项目 ```bash git clone cd foreworld ``` 2. 初始化数据库 ```sql -- 创建数据库 CREATE DATABASE foreworld CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; -- 执行数据库脚本 source foreworld-web/src/main/resources/sys_user.sql source foreworld-web/src/main/resources/data.sql ``` 3. 启动后端服务 ```bash # 构建项目 mvn clean install # 启动应用 mvn spring-boot:run -f foreworld-web/pom.xml ``` 4. 启动前端服务 ```bash cd foreworld-ui npm install npm run dev ``` ### Docker 部署 使用 docker-compose 一键部署: ```bash docker-compose up -d ``` 这将启动以下服务: - MySQL 数据库 - Redis 缓存 - 后端应用 (端口 8081) - 前端应用 (端口 80) ## CI/CD 流水线 项目使用 GitLab CI/CD 进行自动化构建、测试和部署。流水线包括以下阶段: 1. **Prepare**: 环境准备,安装必要工具 2. **Build**: 分别构建后端和前端 3. **Test**: 运行单元测试和代码质量检查 4. **Package**: 打包应用和构建 Docker 镜像 5. **Deploy**: 部署到测试和生产环境 ## 功能模块 ### 用户系统 - 用户注册/登录 - JWT Token 认证 - 用户会话管理 ### 挂机修仙系统 - 境界系统(炼气→筑基→金丹→元婴→化神→渡劫→大乘→真仙→金仙→圣人) - 自动修炼(离线/挂机期间持续获取修为) - 灵根系统(金木水火土五行灵根) - 悟性系统(影响自动突破成功率) ### 世界探索 - 地图系统(洪荒大陆、洞天福地、秘境等) - 自动探索(挂机期间自动探索区域获取资源) - 随机事件(机缘奇遇、天灾人祸) ### 战斗系统 - 自动战斗(挂机期间自动与怪物战斗) - 技能系统(自动释放预设技能组合) - 法宝系统(自动使用法宝增强战斗力) ## 配置说明 ### application.yaml 主要配置项 ```yaml server: port: 8081 servlet: context-path: /foreworld jwt: secret: "your-jwt-secret-key" expiration: 86400000 # 24小时 spring: datasource: url: jdbc:mysql://localhost:3306/foreworld username: root password: root data: redis: host: localhost port: 6379 ``` ## 开发指南 ### 添加新功能模块 1. 在对应的模块下创建新的包结构 2. 编写实体类、Mapper、Service、Controller 3. 添加相应的 DTO 和工具类到 foreworld-core 4. 编写单元测试 ### 代码规范 - 遵循阿里巴巴 Java 开发手册 - 使用 Lombok 简化代码 - 使用 Swagger 生成 API 文档 - 添加必要的注释和文档 ## 部署架构 ### 高并发部署方案 系统支持两种部署模式: 1. **2000并发集群部署**:适用于中小型游戏服务器 2. **20000并发分布式部署**:适用于大型游戏服务器 详细部署方案请参考: - [2000并发集群部署方案](foreworld-web/src/main/resources/2000并发集群部署方案.md) - [高并发集群部署方案](foreworld-web/src/main/resources/高并发集群部署方案.md) ## 贡献指南 1. Fork 项目 2. 创建功能分支 (`git checkout -b feature/AmazingFeature`) 3. 提交更改 (`git commit -m 'Add some AmazingFeature'`) 4. 推送到分支 (`git push origin feature/AmazingFeature`) 5. 开启 Pull Request ## 许可证 本项目仅供学习交流使用。 ## 联系方式 如有任何问题,请提交 Issue 或联系项目维护者。