# Проект "СуперНова"
"СуперНова"  (далее  -  СН)  -  многопользовательская  браузерная  космическая стратегия, клон oGame. СН базируется на  XNova  RageRepack  v.226  (далее  RR). Данный файл содержит инструкции по установке СН

## Disclaimer aka Отмазка
**ВНИМАНИЕ!** Проект находится в стадии  альфа-версии!  В  настоящее  время  он  не
предназначен для  production-использования!  Код  предоставляется  "as-is".  Вы
используете его на свой  страх  и  риск!  Автор  не  несет  ответственности  за
материальный,  моральный,  кармический,  душевный   и   любой   другой   ущерб,
причиненный вам от использования, неиспользования, самим  фактом  существования
этого кода или любым другим способом.

**ВНИМАНИЕ!** Хотя СН является клоном оГейм, она НЕ ЯВЛЯЕТСЯ ОФФЛАЙК!  Т.е.  многие
аспекты игры отличаются как  от  официального  оГейма,  так  и  от  RR.  Движок
изменен, что бы соответствовать моему пониманию об интересной игре.  Принимайте
это во внимание, когда решаете - устанавливать этот движок себе или нет.

**ВНИМАНИЕ!** Статус проекта "СуперНова" - альфа-версия. Практически это означает,
что очередной апдейт может полностью изменить отдельный аспект игры.

Примерный план развития движка содержится в файле /docs/changelog.xls

Код распространяется под лицензией GNU GENERAL PUBLIC LICENSE Version  2,  June
1991. Сама лицензия находится в файле /docs/license.txt дистрибутива.

Доолнение к лицензии: движок является полностью бесплатным  до  тех  пор,  пока
сохраняются мои копирайты. Так же вы не имеете права  продавать  сам  движок  и
любые продукты на его основе (однако имеете право взимать  плату  за  доступ  к
игре и/или продавать внутриигровые ресурсы).


### Предуведомления о необходимости наличия квалификации
Данные инструкции предполагают умение самостоятельно настроить или использовать
сторонний  веб-хостинг,  знакомство  с  MySQL  и  PHP,  доступ  к  инструментам
управленя MySQL и  хостингом.  Если  вы  не  обладаете  опытом  самостоятельной
настройки сайтов - этот дистрибутив вам не подойдет

**ВНИМАНИЕ!** Я не могу протестировать все возможные комбинации и  версии  MySQL  &
PHP & XCache & веб-серверов! Это означает,  что  при  некоторых  комбинациях  и
настройках среды движок может  не  работать.  Именно  для  этого  нужны  навыки
настройки и конфигурации веб-серверов.


## Системные требования
- *MySQL 5.x* - режим STRICT_TRANS_TABLES должен быть ОТКЛЮЧЕН
- *PHP >= 5.5*
- *Web-server* - рекомендуется Lighttpd или Apache
- *XCache >= 1.2.х* - опционально, но крайне, крайне желательно.  Без  XCache  не
                  будут работать некоторые фишки и заметно возрастет нагрузка
                  на MySQL.

СН может работать в окружении  PHP  с  включенными  Magic  Quotes  -  в  движке
предусмотрены механизмы компенсации для такого случая,  однако  они  далеко  не
универсальны и не распространяются, например, на ключи массивов. Поэтому крайне
желательно  отключить  Magic  Quotes  на   стороне   сервера.   Подробнее   см.
ниже соответствующий подраздел в разделе "Если возникли проблемы..."

Движок разрабатывается под Windows на WAMP Server 3.0.8. Конфигурация:
-  MySQL 5.7.14
-  Apache 2.4.23
-  PHP 5.6.25 + xCache 1.3.2
Продакшн крутится под CentOS + lighttpd + xCache

На localhost движок **ВСЕГДА** работает в режиме display_errors=1


## Расположение движка
Движок может работать из любого места сайта, включая подкаталоги. Т.е. он может
быть установлен по адресам
*  http://domain.com
*  http://my.very.deep.domain.on.crappy.hoster.org
*  http://hosting.com/ogame/
итд.


## Права доступа веб-сервера
В целом, движок может работать из-под веб-сервера с правами доступа "только  на
чтение".  Однако,  для  корректной   работы   отдельных   подсистем,   аккаунту
веб-сервера должна быть разрешена запись в отдельный файлы/папки. Ниже приведен
список подсистем и соответствующих файлов/папок
[*] Подсистема кэширования темплейтов - каталог  /cache.  Без  этого  темплейты
    каждый раз будут рендериться заново
[*] Для корректной работы подсистемы  аватаров  в  PHP  должен  быть  корректно
    настроен временный каталог и движку должна быть разрешена запись в  каталог
    /images/avatar
[*] Для работы подсистемы предупреждения о попытках взлома аккаунту веб-сервера
    должна быть разрешена  запись  на  диск  в  файл  /badqrys.txt.  Без  этого
    "плохие" запросы не будут сохранятся


## Пользовательские модификации
Если  вы  используете  свой  скин,  темплейт  или  локализацию,  НЕ   ИЗМЕНЯЙТЕ
ВСТРОЕННЫЕ ФАЙЛЫ! Последующие изменения в репозитории могут  перезаписать  ваши
дополнения! Сделайте копию скина/темплейта/локализации под другим именем и  уже
с копией веселитесь. Изменить скин/темплейт/локализацию по умолчанию  можно  на
странице конфигурации сервера

Если вы используете собственные модификации кода НЕ ИЗМЕНЯЙТЕ ВСТРОЕННЫЕ  ФАЙЛЫ
по тем же причинам! В  СН  есть  механизм  динамической  перегрузки  функций  -
используйте его для модификации кода.  Подробнее  о  данном  функционале  можно
прочесть в файле /docs/readme.txt - раздел "Динамическое перекрытие функций"


## Инсталляция, настройки БД
ВНИМАНИЕ! Режим STRICT_TRANS_TABLES (переменная sql_mode) должен быть ОТКЛЮЧЕН!

ВНИМАНИЕ! Все таблицы СН хранятся в  формате  InnoDB!  По  умолчанию  MySQL  НЕ
НАСТРОЕН на нормальную работу с базами InnoDB! Дефолтных настроек MySQL  хватит
на работу до 50 пользователей онлайн. Если  вы  планируете  большее  количество
одновременных игроков, то вам нужно настроить  MySQL  в  соответствии  с  вашим
сервером.

В качестве ПРИМЕРА привожу настройки MySQL своего сервера (2Гб  памяти,  сервер
выделен исключительно для работы СН и поддерживающего форума)
```
innodb_additional_mem_pool_size 20971520
innodb_buffer_pool_size         536870912
innodb_flush_log_at_trx_commit  0
innodb_flush_method             O_DIRECT
innodb_log_buffer_size          8388608
```

Особо обращаю внимания на переменную **innodb_flush_log_at_trx_commit**!

Так же для облегчения восстановления после сбоев рекомендуется  хранить  каждую
таблицу InnoDB в отдельном файле. Для этого  нужно  добавить  в  файл  настроек
директиву
**innodb_file_per_table**


## Инсталляция, настройки веб-сервера
СН рассчитана на  использования  кэшера  оп-кодов  xCache.  Хотя  движок  может
работать и без него, этот  режим  не  является  штатным.  Без  кэшера  оп-кодов
некоторые возможности движка будут заблокированы, а так же  возрастет  нагрузка
на MySQL.

Как и любой кэшер оп-кодов, xCache нуждается в особых  настройках  веб-сервера.
Как правильно настроить веб-сервер для работы с xCache можно узнать в интернете
(www.google.com) и на домашней  странице  xCache  (http://xcache.lighttpd.net/)


## Инсталляция, базовый вариант
 1. Создайте БД "supernova" в UTF-8
 2. Создайте в MySQL пользователя "supernova_user" и дайте ему  все  права  на
    базу "supernova"
 3. Загрузите в БД файл /docs/supernova.sql
 4. Скопируйте файл /docs/config.php.sample в  корневой  каталог  СуперНовы  и
    переименуйте его в config.php
 5. В файле /config.php в строке
    "pass"       => "MYSQL_PASSWORD", // Пароль доступа MySQL сервера.
    замените MYSQL_PASSWORD на пароль пользователя БД
 6. В файле /config.php в строке
    "secretword" => "SUPERNOVA",      // Ключевое слово для создания Cookies
    замените SUPERNOVA какой-либо последовательностью символов
 7. Загрузите дистрибутив СуперНовы в корневой каталог веб-сервера
 8. Включите игру в БД: в таблице `sn_config` смените значение переменной
    `game_disable` в 0
 9. Зайдите в игру с админскими правами. По умолчанию админский аккаунт:
    Логин:  'admin' (без кавычек)
    Пароль: 'admin' (без кавычек)
10. ОБЯЗАТЕЛЬНО смените пароль администратора на странице /options.php
11. Настройте игру на странице /admin/settings.php
12. СуперНова готова к запуску!
13. Если что-то пошло не так - смотрите ниже раздел "Если возникли проблемы с
обновлением или инсталляцией"

**ВНИМАНИЕ!** Лом с членов команды (auth_level>0) НЕ  ВЫПАДАЕТ!  Это  не  баг,  это
сделано  специально   для   усиления   безопасности   сервера!   Для   игры   и
администрирования нужно использовать РАЗНЫЕ аккаунты! По той же  самой  причине
члены команды по  умолчанию  не  участвуют  в  построении  таблицы  рекордов  и
статистике

Если после выполнения этих действий возникли проблемы - см.ниже возможные  пути
их разрешения в разделе "Если возникли проблемы..."


## Инсталляция, продвинутый вариант
Настройки доступа к БД находятся в файле /config.php

Настройки игры находятся в  таблице  <db_prefix>config.  Назначение  настроек
интуитивно понятны из названий переменных

Так же некоторые настройки игры хранятся в файле /includes/constants.php

Все изменения - на ваш страх и риск

ВНИМАНИЕ!!! Если был изменен префикс таблиц ('sn_' по  умолчанию),  то  так  же
надо изменить названия таблиц перед заливкой файла /docs/supernova.sql !

## Несколько Вселенных на одном сервере
СН поддерживает работу нескольких Вселенных на одном сервере. Разные  вселенные
должны иметь несовпадающие префиксы в пределах одного  пространства  переменных
xCache


## Краткий ликбез по GIT
Создать локальную копию СуперНовы в текущем  каталоге  (не  забываем  точку  в
конце!):
```
  git clone git://github.com/supernova-ws/SuperNova.git .
```
В текущем каталоге появится самая свежая  копия  СуперНовы  из  ветки  master.
Теперь  содержимое  нужно  скопировать  в  корневой  каталог  сервера.  Вообще,
рекомендуется  делать  это  сразу  на  сервере  -  для  избежания   проблем   с
копированием (был уже такой случай). Но не у всех хостеры  разрешают  запускать
локально программы, поэтому можно сначала сделать  копию  на  локальном  диске.
Собственно, больше ничего не надо :) Впрочем, если вы занимаетесь модификациями
движка, вам пригодится следуюшая команда. Откатить все изменения, сделанные  на
локальной копии:
```
  git reset --hard
```

Обновление до последней версии
==============================
0. **ВНИМАНИЕ!!! ПЕРЕД ОБНОВЛЕНИЕМ СДЕЛАЙТЕ РЕЗЕРВНУЮ КОПИЮ БАЗЫ ДАННЫХ И  ФАЙЛОВ
   ДВИЖКА С ТЕМ, ЧТО БЫ МОЖНО БЫЛО ОТКАТИТЬСЯ В СЛУЧАЕ НЕУДАЧНОГО ОБНОВЛЕНИЯ!!!**
1. Залогиньтесь в игру через аккаунт с правами Администратора
2. **ВНИМАНИЕ!!!** Перед обновленем сервер **ОБЯЗАТЕЛЬНО** нужно  остановить.  Делается
   это так: 
   1. Находясь в игре под аккаунтом Администратора в левом меню появится пункт  "Администратор"  -
   кликните на него.
   2. В админском меню  выберите  пункт  "Настройки",  поставить
   галочку "Отключить игру", нажать кнопку "Сохранить" в самом  низу  страницы.
   Только после этого можно производить обновление - иначе результат может быть
   далеким от ожидаемого.
3. Если у вас включено  кэширование  темплейтов,  нужно  удалить  все  файлы  в
   каталоге **/cache**
4. Теперь обновите файлы движка
   1. Если вы ставили игру из  GIT-репозитория,  то  на  сервере  в  корневом
        каталоге игры выполните команду
        ```
          git pull
        ```
   2. В любом другом случае - загрузите на сервер обновленную версию движка
5. **ДОЖДИТЕСЬ, ПОКА НОВАЯ ВЕРСИЯ ДВИЖКА ОКАЖЕТСЯ НА СЕРВЕРЕ!** Попытка  обновления
   в процессе копирования файлов или  загрузки  их  из  репозитория  GIT  могут
   привести к непредсказуемым результатам
6. Переключитесь в браузер, в  котором  вы  залогинены  под  Администратором  и
   выберите пункт меню "Обзор". Дождитесь загрузки  страницы  -  в  этом  время
   происходит обновление БД
7. И,  наконец,  после  всех  этих  действий   игру   можно   опять   включить
   (Администратор -> Настройки, снять  галочку  "Отключить  игру"  и  сохранить
   изменения).
8. Если после выполнения этих действий возникли проблемы - см.ниже возможные
   пути их разрешения в разделе "Если возникли проблемы с обновлением или
   инсталляцией"

### Апгрейд с RR
Автоматический апгрейд с баз RR в  разработке.  Частично  апгрейд  производится
автоматически запуском файла update.php

В СН относительно RR изменено местоположение баннера. Раньше ссылка была
```
  /scripts/createbanner.php
```
Новая ссылка
```
  /banner.php
```
Используйте средства веб-сервера (mod_rewrite) для перенаправления запросов.  В
частности, правило для lighttpd будет следующим:
```
#Redirects old-style banners to new one
server.modules += ( "mod_rewrite" )
url.rewrite-once = (
  "^/scripts/createbanner.php(.*)" => "/banner.php$1"
)
```

## Если возникли проблемы с обновлением или инсталляцией

### Сообщение "Игра еще не сконфигурирована"
Если вы видиет это сообщение - значит вы сейчас в игре под не-администраторским
аккаунтом. Для того, что бы сменить аккаунт:
1. Выйдите из системы, открыв ссылку (УРЛ вашего сервера)/logout.php
    1. Если вы были залогинены в игру в режиме Имперсонатора - игра сразу перенаправит
     вас в раздел Администратора.
    2. В противном случае игра перенаправит вас на страницу входа. Введите логин
     и пароль Администратора
    3. Игра перенаправит вас в раздел Администратора.
2. Сконфигурируйте игру по вашему желанию.
3. На странице настройки сервера /admin/settings.php вкладка "Статус" измените состояние
   игры и сохраните изменения

### Проверьте версию PHP
ВНИМАНИЕ! PHP версии 5.3.1 содержит баг, который препятствует корректной работе
функции-оболочки, если в параметрах оригинальной функции  содержится  параметр,
передаваемый по ссылке. Поэтому начиная с 33a12 СуперНова  не  может  работать
под PHP этой версии! Обновите PHP на более поздний, или сделайте откат до более
ранней версии, или используйте предыдущюю версию СН!

Ссылка для чтения: https://bugs.php.net/bug.php?id=50394

### Magic Quotes
Если в отправляемых сообщениях символы \ (обратный слэш) и " (двойная  кавычка)
заменяются на \\ и \", а символ ' (одинарная кавычка) - на символы \'  или  '',
это говорит о том, что на сервере  в  настройках  PHP  включен  механизм  Magic
Quotes. Для  нормальной  работы  движка  необходимо  отключить  этот  механизм.
Сделать  это  можно   несколькими   путями   (даются   в   порядке   уменьшения
эффективности):
1. Напрямую в файле конфигурации сервера PHP "php.ini":
    ```
    magic_quotes_gpc = Off
    magic_quotes_runtime = Off
    magic_quotes_sybase = Off
    ```
2.  Если  нет  доступа  к  основному  файлу  конфигурации,  то  многие  хостеры
   поддерживают  локальное  изменение  настроек  через  ".htaccess".   Добавить
   указанный файл в корневой каталог движка и прописать в нем строки:
   ```
    php_flag magic_quotes_gpc Off
    php_flag magic_quotes_runtime Off
    php_flag magic_quotes_sybase Off
   ```
3. Некоторые хостеры не  поддерживают  ни  один  из  первых  двух  пунктах,  но
   поддерживают локальные "php.ini". В этом случае  нужно  создать  в  корневом
   каталоге движка файл "php.ini" и добавить в него строки:
   ```
     magic_quotes_gpc = Off
     magic_quotes_runtime = Off
     magic_quotes_sybase = Off
   ```
   
Если хостер не поддерживает ни один  из  вышеуказанных  методов,  то  движок  с
версии 34a0 по мере сил  постарается  скомпенсировать  "работу"  Magic  Quotes.
Однако  корректность работы движка НЕ ГАРАНТИРУЕТСЯ!

### "Белый экран"
Очень часты жалобы следующего вида: "Я скачал и поставил движок, а при загрузке
страницы в браузере только белый экран!". Данная  неисправность  в  большинстве
случаев означает, что есть какая-то проблема,  но  в  настройках  PHP  отключен
вывод ошибок. Для диагностики такого рода  проблем  необходимо  включить  вывод
ошибок. Сделать это можно в настройках PHP,  в  .htaccess  или  в  движке.  Что
бы включить вывод ошибок в движке,  нужно  в  файле  **/includes/init.php**  второй
строкой вписать:
```
  define('BE_DEBUG', true);
```

### Если используете Альфа-версии релизов...
...то перед сообщением об ошибке нужно:
1. Почитать новости
2. Обновится до последней существующей  версии  -  возможно,  в  ней  глюк  уже
исправлен,  потому  что  я  публикую  чейнджлог  пачками  и  могу   просто   не
опубликовать еще изменения

### Fatal error: Cannot redeclare...
Файлы движка и функции в нем могут менять местоположение от  версии  к  версии.
Поскольку движок  в  состоянии  Альфа  -  это  нормально.  Движок  расчитан  на
обновление   через   репозитории   GIT/SVN,   при   которых   все   перемещения
файлов/функций отрабатываются автоматически.  Однако  при  простом  копировании
старой версии движка поверх новой может возникнуть следующая ошибка:
```
  Fatal error: Cannot redeclare (...) in (...) on line (...)
```
Вместо (...) - названия функций, файлов, номер строки

В этом случае необходимо ПОЛНОСТЬЮ удалить старую версию движка (сохранив  файл
config.php), залить новую версию движка и подсунуть её конфигурационный файл.

Те, кто разбирается немного в PHP (а таким должен быть  любой,  кто  пользуется
текущими версиями движка) может просто удалить лишние файлы,  определив  их  по
сообщению об ошибке.

### Ошибки с CONTRAINTs
После включения отладочного режима движок может выдать уведомление об ошибках в
CONTRAINTs. Обычно это происходит при  интенсивном  использовании  альфа-версий
релизов  при  апгрейде  с  пропуском  нескольких  версий.  Иногда  такое  может
произойти и при апгрейде альфа/бета версии  на  релиз.  Ниже  приводится  общий
алгоритм решения такого типа проблем - если не вмочь ждать следующей альфы  или
обновления релиза

Приведу алгоритм решение проблемы с констраинтами на примере  таблицы  users  и
поля ally_tag

Нам нужно добавить вот такой constraint:
```mysql
ADD CONSTRAINT `FK_users_ally_tag` FOREIGN KEY (`ally_tag`) REFERENCES `{$config->db_prefix}alliance` (`ally_tag`) ON DELETE SET NULL ON UPDATE CASCADE
```

Он связывает поле ally_tag таблицы users (подчиненная) с полем ally_tag таблицы
alliance (главная). Когда поле  ally_tag  изменяется  в  таблице  alliance,  то
связанное поле автоматически изменяется в таблице users. Если запись  удаляется
из таблицы users  -  поле  ally_tag  в  соответствующей  записи  таблицы  users
обнуляется.

Что бы можно было сделать  такую  связь,  нужна  логическая  целостность  обоих
таблиц. Это означает, что:
1. Типы и кодировка связываемых полей должны совпадать.
2. В подчиненной таблице в свойствах поля должно стоять DEFAULT NULL
3. Для всех связываемых полей должны существовать индексы во всех  используемых
   таблицах
4. На момент связывания в подчиненной таблице НЕ ДОЛЖНО быть таких  значений  в
связываемом поле, которых нет в главной таблице.

В нашем случае (самый сложный) нужно: во-первых обновить все значения  ally_tag
до текущих:
```php
doUpdate("UPDATE {{users}} AS u LEFT JOIN {{alliance}} AS a ON a.id = u.ally_id SET u.ally_tag = a.ally_tag;");
```

во-вторых - для тех записей, для  которых  Альянсы  не  существуют,  установить
соответствующее поле в NULL
```php
doUpdate("UPDATE {{users}} AS u LEFT JOIN {{alliance}} AS a ON a.id = u.ally_id SET u.ally_id = NULL, u.ally_tag = NULL WHERE a.id is NULL;");
```

Если бы в constraint стояло бы ON DELETE CASCADE, а не ON DELETE SET  NULL,  то
нужно было бы просто удалить из подчиненной таблицы все записи, для которых нет
соответствия в главной таблице. На примере constraint для таблицы shortcut:
```mysql
ADD CONSTRAINT `FK_shortcut_planet_id` FOREIGN KEY (`shortcut_planet_id`) REFERENCES `{$config->db_prefix}planets` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
```
Соответствующий запрос:
```php
doDelete('DELETE FROM {{shortcut}} WHERE shortcut_planet_id NOT IN (SELECT id FROM {{planets}});');
```

*??????*

**PROFIT!**

Собственно, апдейтер сам делает все нужные изменения. НО ТОЛЬКО если ранее  все
апдейты  проходили  нормально!  Если,  например,  ранее  сбился  constraint  на
ally_id, то апдейтер НЕ СМОЖЕТ нормально отработать constraint на ally_tag.

Мануал для курения:
http://dev.mysql.com/doc/refman/5.5/en/constraints.html

### Если используете релиз
Невозможно предсказать заранее все возможные комбинации настроек PHP,  MySQL  и
веб-сервера. СН ориентируется на "установки по умолчанию". Поэтому в  отдельных
случаях  возможны  сбои  в  процедуре  обновления.

Алгоритм автоматического обновления рассчитан на однократный запуск.  Однако  в
случае  некоторых  конфигураций,  в  процессе  обновления  происходят   ошибки.
Некоторые из них - критичны, а некоторые  можно  исправить  повторным  запуском
процедуры (с или без редактирования БД).

Запустить процедуру обновления  повторно  можно  используя  пункт  "Форсировать
обновление" меню "Утилиты" на странице Администратора.

Прошу обратить внимание! Использование форсированного обновления может привести
к порче  БД  (в  случае,  если  само  обновление  закончилось  ранее  успешно)!
Поэтому ОБЯЗАТЕЛЬНО сделайте копию движка и БД перед форсированным  обновлением
(даже  если вы делали копию перед апгрейдом)!

Форсированное  обновление  нужно  использовать  только  в  том   случае,   если
стандартная процедура обновления прошла неуспешно! Если  и  это  не  помогло  -
следует перейти к разделу "Диагностика неисправностей движка"


### Диагностика неисправностей движка
Самую свежую и актуальную версию движка (с самыми свежими и актуальными багами)
можно скачать по этой ссылке:
```
https://github.com/supernova-ws/SuperNova/zipball/trunk
```
На название файла внимание обращать не нужно -  будет  загружена  самая  свежая
версия из ветки trunk.

!!!ВНИМАНИЕ!!! Диагностику нужно проводить на отдельной БД  и  отдельной  копии
движка! НИ В КОЕМ СЛУЧАЕ НЕЛЬЗЯ ПРОВОДИТЬ ДИАГНОСТИКУ НА ЖИВОМ СЕРВЕРЕ!!!

Стандартная последовательность действий при диагностике такая:
1. Установить в пустую базу данных чистый дамп БД из архива. Проблемы  на  этом
   этапе говорят о следующем:
   1. Наиболее вероятно - ошибки в настройке сервера MySQL
   2. Ошибки в дампе  БД.  Возможно,  вы  попали  в  момент  обновления  дампа.
      "Момент" тут понятие условное - он может растянутся на несколько дней
2. Поставить на чистый сервер и чистую БД, полученную на прошлом  шаге,  движок
      из архива.  Попытаться  запустить.  Проблемы  на  этом  этапе  говорят  о
      следующем:
      1. Ошибки в настройках движка. Проверить файл /config.php
      2. Ошибки в настройках HTTP-сервера  (особенно  если  движок  запускается
         первый раз)
      3. Ошибки в автоапдейтере
      4. Движок находится в процессе написания, а вы попали на "момент" коммита
3. Заменить чистую базу дампом своей рабочей базы (не забываем СНОВА если нужно
   изменить конфигурацию  –  префиксы  таблиц  там,  логины/пароли  и  прочее).
   Проблемы на этом этапе говорят о следующем:
   1. Ошибки в настройках движка. Проверить файл /config.php
   2. Ошибки в автоапдейтере
   3. Ошибки в самой БД. Тут либо разбираться самим, либо оплачивать мою работу
4. Если проблем нет – значит что-то конкретно не так на живом сервере. Тут надо
   уже разбираться подробнее - либо самостоятельно, либо оплатить мою работу

Перед КАЖДЫМ этапом ОБЯЗАТЕЛЬНО нужно перезапустить веб-сервер и MySQL –  иначе
могут использоваться старые настройки от предыдущей версии.
Только верное и аккуратное следование процедуре диагностики поможет  эффективно
выявить проблемы в работе СН на каждом отдельно взятом сервере.



# Ссылки
Основной сайт проекта: http://supernova.ws


## Форумы
Форум проекта: http://forum.supernova.ws

Форум поддержки сторонних серверов: http://forum.supernova.ws/viewforum.php?f=73

Форумы для багрепортов
*  Для ошибок, уникальных для сторонних серверов (ru/en)
    http://forum.supernova.ws/viewforum.php?f=78
*  Для ошибок, присутствующих в текущей версии СН на официальных серверах
    http://forum.supernova.ws/viewforum.php?f=65


## СуперНова на github
Страница проекта:
  http://github.com/supernova-ws/SuperNova

Самый свежий стабильный релиз:
  https://github.com/supernova-ws/SuperNova/zipball/master

night build - самая свежая версия следующего релиза с глюками и багами:
  https://github.com/supernova-ws/SuperNova/zipball/trunk

Репозиторий:
  git://github.com/supernova-ws/SuperNova.git


## СуперНова на sourceforge
Страница проекта:
  http://sourceforge.net/projects/supernova-ws/

Загрузка движка:
  http://sourceforge.net/projects/supernova-ws/files/

Репозиторий:
  git://supernova-ws.git.sourceforge.net/gitroot/supernova-ws/supernova-ws



# Помощь проекту
Вы можете помочь проекту, отправив WebMoney на кошельки:
  WMZ (WM-USD) Z409323360409
  WMR (WM-RUB) R961266352219
  WMU (WM-UAH) U726314912308

Если вы пользуетесь ВебМанями для покупки различных электронных товаров, то  вы
можете одновременно
а) купить привычный электронный товар по хорошей цене
б) помочь проекту.
http://gorlum.plati.ru - пополнения сотовых, Skype, WoW - игра и  ТК  и  прочие
электрические товары за WM. Каждая покупка, сделанная с этого  линка,  принесет
мне небольшие комиссионные.

Помните! Ничто так не укрепляет веру в нужность работы, как пожертвование!

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Updated: 2020-07-27 V45d0
