Личный кабинет gcp v.2 (pw и fw)

Gibat

Новичок
Пользователь
23 Мар 2013
2
13
3
32
Это копипаст с соседних форумов, информация кое-где может быть устаревшей.
ЛК поддерживает pw 1.4.4-1.4.6, fw "War of Shadows" (скоро nightfall).
Быстрый, умный, легкоусваиваемый gcp v.2 :)

Написан на Yii framework (англ. рус. wiki), что дает нам(кратко):
  • MVC
  • высокую производительность
  • кэширование
  • поддержку тем оформления
  • отличную обработку данных, для предотвращения sql injection и другой лабуды
Основные требования к веб серверу:
  • php 5.1+
  • php extensions: reflection, PCRE, SPL, DOM, PDO, PDO MySQL, memcache (по желанию), Mcrypt, SOAP (по желанию), GD, Ctype, Curl
ЛК разделен на 2 части: клиентская - ставится на любой хостинг (см. тебования), api - на сервер pw.

Установка клиентской части ЛК:
1. Залить на веб сервер содержимое папки /cli
2. Создать mysql базу и вставить дамп gcp.sql
3. Настроить /cli/protected/config/main.php
Код:
<?php
...
'name'=>'gCP v.2',
...
'showScriptName'=>false, // показывать ли index.php в пути браузера
...
'db'=>array(
'connectionString' => 'mysql:host=localhost;dbname=gcp',
'schemaCachingDuration'=>3600,
'emulatePrepare' => true,
'username' => 'root',
'password' => '123qwe',
'charset' => 'utf8',
'tablePrefix' => 'gcp_',
),
...
'cache'=>array(
'class'=>'CFileCache', // тут можно подключить memcache (см. документацию yii)
),
...
// email settings
'adminEmail'=>'admin@domen.ru',
'smtpserver'=>'smtp.yandex.ru',
'smtpuser'=>'admin@domen.ru',
'smtppass'=>'pass',
'smtpfrom'=>'admin@domen.ru',
'smtpfromname'=>'project name',
'mail'=>'smtp', // smtp or anything for php mail()
'emailtitle'=>'Вы зарегистрированы на {site_name}, {username}!', // {site_name} -> см. выше 'name'=>'gCP v.2',
'emailactive'=>'Благодарим вас за регистрацию на {site_name}! Пожалуйста активируйте ваш аккаунт по ссылке: {activation_url}',
'emailtitleremind'=>'Восстановление пароля для аккаунта {username} на {site_name}',
'emailremind'=>'Вы запросили восстановление пароля на {site_name}. Пожалуйста перейдите по ссылке: {activation_url}',
'emailtitleend'=>'Ваш новый пароль: {password}',
...
// ввести логины, которым будет открыт доступ к модулю /rights
'rights'=>array(
'test2',
'test3',
),
...
// api settings
'method'=>'1', // curl=2, soap=1
'apiurl'=>'http://gcp2.ru/api/index.php/', // слеш в конце обязателен
...
'sessiontime'=>'3600', // время действия сессии в секундах
'timeout'=>'15', // таймаут между приобретениями предметов из лавки в секундах
...
// nextpay settings. форма - оплата счета
'product_id'=>'111',
'nextpay_key'=>'asdasdasdasd',
...
// web top settings
'key'=>'2df86838', // ключ. вешать на крон http://localhost/webtop/mmotop?key=****
'mmotopsimple'=>'15',
'mmotopsms'=>'25',
'mmotop'=>'http://pw.mmotop.ru/stats/______/__/__.txt',
...
// цены
'icon'=>'300', // цена иконки клана
...
// настройка иконок
'sizex'=>'2048', // ширина iconlist_guild.png. должна быть кратна 16!
'servers'=>array( // у меня 5 glinkd на один сервер, заносим id glinkd в массив
'1',
'2',
'3',
'4',
'5',
),
...
4. Выдать права на запись для папок:
  • /cli/assets
  • /cli/protected/runtime*
  • /cli/iconlist*
5. Загрузить свою стандартную иконку для кланов в /cli/iconlist/icons/0.png
Как видно в конфиге:
  • можно подключить memcache (я использую CFileCache)
  • выбрать метод общения cli <-> api, т.е. soap или curl
  • выбрать метод отправления писем, smtp или php mail
  • подключить nextpay.ru (нужен персональный аттестат wm)
  • сделать свою theme (см. документацию yii)
  • настроить размер iconlist_guild, а так же ставить иконки для нескольких glinkd одновременно
  • существует 4 роли: гость, авторизованный, администратор, гм.
  • многое другое
Установка серверной части:
1. Загрузить в /var/www содержимое папки /api (можно скопировать саму папку api)
2. Открыть /api/protected/config/main.php
Код:
...
'db'=>array( // указать коннект к игровой базе!
'connectionString' => 'mysql:host=localhost;dbname=pw',
'schemaCachingDuration'=>3600,
'emulatePrepare' => true,
'username' => 'root',
'password' => '123qwe',
'charset' => 'utf8',
'tablePrefix' => '',
),
...
'params'=>array(
'gamedbd'=>29400, // порт
'gdeliveryd'=>29100, // порт
'addgold'=>'1', // добавлять ли голд при регистрации. 1 - да, 0 - нет
'gold'=>'50000000', // количество добавляемого голда
'zoneid'=>'2', // zoneid сервера, глядеть в gdeliveryd/gamesys.conf etc
'aid'=>'2', // аналогично
),
...
4. Выдать права на запись для папок:
  • /api/assets
  • /api/protected/runtime*

Чтобы дать права в ЛК, нужно:
1. Зайти хоть раз в ЛК
2. В таблице gcp_users в поле access для нужного логина поставить 1 (админ) или 2 (гм)
3. Перезайти в ЛК

Функционал ЛК предоставлю в скриншотах.
Пояснения:
  • красные рамки при заполнении полей отображаются только после отправки формы, если форма заполнена не верно
  • итемы можно продавать за монетки либо бесплатно
  • итемы можно продавать навечно, на несколько дней\месяцев, до определенной даты
  • иконки 16х16 в формате png, а так же и с прозрачным фоном
  • при покупке скиллов, выводе духа\опыта, сбросе пароля банка, телепортации - необходимо выйти персонажем из игры
  • в ГМке можно узнать ид перса по нику (для обработки жалоб с форума)
  • в поиске скиллов можно настроить их продажу
  • можно удалять неугодные иконки у кланов
  • в редакторе персонажей, некоторые поля скрыты. открывать в cli/protected/views/role/_form.php
  • см. скрины :)
| | | |

ТОП (на скрине зародыш, в данный момент он уже дописан, скрин обновлять лень) -


|
Обновления бесплатны. Часть серверных файлов пройдет через ionCube. Следовательно действует принцип "лицензий", цена последующих копий будет меньше (некий % от текущей стоимости).

В серверном конфиге есть возможность выбора 1.4.4 / 1.4.5

--- добавлено: 23 мар 2013 в 19:11 ---
Тоже копипаст, но инфа новая :)

Обновил давно:
  • добавлена поддержка 1.4.5 v69 и 1.4.6 v70
  • добавлен аукцион (игрок извлекает из инвентаря итем и выставляет на продажу за монетки)
  • смена пола у персов
  • новый шаб в стиле вин8
  • правка бага при покупке уровня
  • при сбросе пароля на банке, требуется ввести email
  • засчитывать\не засчитывать накрутку голосов в ммотопе (выбор в конфиге)
  • парсинг elements.data в базу (структура берется из конфигов sELedit) для отображения названий предметов в аукционе и лавке (предметы размещенные на ауке или лавке, обязательно должны быть в elements.data!)
  • добавлены "поощрения\проценты" за донат, возможно делать до трех поощрений (указывается начальная сумма поощрения и на сколько умножать)
  • правка мелких багов
Недавно:
Добавлена поддержка FW спец. модулем апи (версия War of Shadows, поддержка nightfall появится в ближайшее время)
Функции для FW:
  • выбор персов
  • вывод опыта
  • телепортация
  • лавка
  • пополнение монеток nextpay, free-kassa
  • покупка листьев эйры
  • покупка уровней
  • аукцион
  • ред. персов
  • просмотр ид по нику
  • бан, разбан учеток
  • парсинг елементс.дата (конфиг селедита писался под посл. версию пви(фви?:D), в случае чего - будет корректироваться)

UPD: добавлена поддержка fw nightfall

Скоро начну делать JD :)
 

Пользователи онлайн

Сейчас на форуме нет ни одного пользователя.

Последние ресурсы

Статистика форума

Темы
3.846
Сообщения
21.245
Пользователи
7.725
Новый пользователь
a707400208