БД

База, сохранение данных

В начале, было решено сохранять и загружать все объекты и их текущие состояния: игроков, лабиринты, магазины.

1. Сейчас решено сделать загружаемыми из базы при запуске сервера, только игроков и сейчас я объясню почему.
Допустим, завис сервер (ну или неожиданно перегрузился) – да в таком случае будут утеряны все текущие игры в лабиринтах. Но данная ситуация довольно редкая (у многих мне подконтрольных серверов аптайм (количество времени прошедшего с запуска) более года.

Прикручиваем базу данных

В базе будем хранить все объекты, т.е. и те которые раньше хранили в XML-файликах (оружие, типы монстров),
а также пользователей(TUser) и лабиринты (TMaze).

Сначала решено было сделать для каждого объекта одну табличку с n-полями(столбцами), но сразу наткнулись на трудность: инвентарь, данные, навыки.
Все это массивы - конечно можно пойти дилетантским путем и сделать столбцы inv_0, inv_1 и т.д., но это уж совсем.

Решено было сделать для таких данных отдельные таблички, которые будут связываться с основной по ключу - id. (игрока или лабиринта).

RSS-материал