打算开发一款网页文字游戏,类似以前qq家园的精武堂。文章不停修复,想到哪里写哪里,欢迎指正。也不知道以我的水平能不能更新完,加油吧。
游戏玩法:每个角色有多个武将,每个武将可以学习多种兵种,武将和士兵都可以穿戴装备,有队伍、帮派、副本、国战、聊天、战斗、交易。。。
技术栈方面:
- 后端框架:nestjs
- 数据库:mysql-5.7.x 使用typeorm
- 缓存:redis 3.0.x
- 通讯:websocket
- 日志:winston
新建nestjs项目
这里使用10版本,11版本的太新了 很多第三方包还没兼容
npm i -g @nestjs/cli@10.4.11
nest new new_game
安装数据库包
pnpm install @nestjs/typeorm typeorm mysql2
安装websocket
pnpm i @nestjs/websockets @nestjs/platform-socket.io socket.io
安装redis
pnpm install @nestjs-modules/ioredis ioredis
pnpm install --save-dev @types/node
连接数据库和redis
import { Module } from '@nestjs/common';
import { AppController } from './app.controller';
import { AppService } from './app.service';
import { TypeOrmModule } from '@nestjs/typeorm';
import { RedisModule } from '@nestjs-modules/ioredis';
@Module({
imports: [
TypeOrmModule.forRoot({
type: 'mysql',
host: 'localhost',
port: 3306,
username: 'newgame',
password: 'newgame',
database: 'newgame',
synchronize: true,//自动创建表
autoLoadEntities: true,//自动加载实体
logging: true,//打印sql
}),
RedisModule.forRoot({
type: 'single',
url: 'redis://127.0.0.1:6379',
}),
],
controllers: [AppController],
providers: [AppService],
})
export class AppModule {}
启动项目
pnpm run start:dev
mysql和redis请自行安装,这里不再赘述,使用一键工具就行 暂停更新吧