Last server records
Pro Nub

Жребий брошен

Posted by Kpoluk 28 Jan 2016 in 19:12
Обновления на сайте
(автор: PandaXR)

Буквально на днях на сайт было загружено обновление, которое добавило некоторые базовые возможности и открыло необходимые для работы сообщества страницы, а именно: форма изменения профиля, необходимая в том числе для подтверждения своего стим аккаунта, страница профиля пользователя, страница с правилами загрузки рекордов и форма загрузки рекордов на сайт.

Сам профиль пользователя выглядит как показано на изображении ниже, при этом попасть в него можно либо кликнув на свой ник где-нибудь на сайте, либо наведя курсор мыши на свой ник в меню и перейдя по ссылке "Профиль":



Вы, должно быть, уже заметили знак вопроса в профиле с подписью "Без команды". Но об этом мы расскажем позднее, когда реализуем весь необходимый функционал. В остальном же, в профиле пользователя всё довольно стандартно. Обратите внимание, что ваш email отображается только вам и администраторам.

Страница изменения собственного профиля доступна из того же меню и выглядит так:



Здесь всё тоже предельно прозрачно. Отмечу, что подтверждение стим иногда глючит из-за перегруженности стимовских серверов, поэтому, если вы получаете в ответ какие-то ошибки, то просто обновите страницу и попробуйте еще несколько раз.

Самый лучший размер аватарки - 180х180.

Вид аплоада всем знаком:


Выбираете рекорд, загружаете - всё как обычно. Работает аплоад в тестовом режиме, поэтому буду вам очень благодарен, если о найденных ошибках вы напишете здесь в комментариях. Кстати, комментарии теперь отправляются без перезагрузки страницы.

Обратите внимание, по ссылке "Правила записи рекордов", которая есть в меню "Рекорды", и ниже формы загрузки демок на сайт вы найдете полный список правил, который хотя и основан на правилах от XJ, но тем не менее имеет некоторые нюансы. Так, например, у нас запрещено отображение престрейфа в демках.
UPD для обратной совместимости всё же разрешим отображение пре, но за наличие multibhop и ljpre очки будут урезаться.

Также, обратите внимание, что на данный момент разрешено заливать только демки 2016 года, причём делать это могут игроки из всех стран СНГ. Старые демки пока приниматься не будут, подробнее об этом в следующем разделе про систему очков.

Из ближайших планов - мониторинг серверов, чат, форум, страницы с загрузками.

Система очков SP и EP
(автор: Kpoluk)

Не один вечер ушёл на то, чтобы продумать систему очков. Удалось обойти почти все проблемы, что перед нами встали. И вот что получилось:

Место игрока в общем рейтинге определяется количеством SP (Skill Points). SP даются за пройденную карту на сервере согласно следующей таблице:
Все места ниже 15 получают 1 SP в Nub топе и 16 SP в Pro топе. Если на этой карте уже есть ваш рекорд и вы его улучшили, то даётся разница между новым и старым SP. Таким образом, максимум на одной карте можно заработать 30 SP. Если вы теряете позицию в топе, то и SP уменьшаются. Поэтому важно не только забраться повыше, но и удержаться на вершине.

На сайте записанная демка оценивается так же, как и рекорд Pro топа. Единственным исключением является случай, когда рекорд быстрее мирового или является им. В этом случае выдаётся в 2 раза больше SP. Если не учитывать этот случай, то максимум можно получить 30*N SP, где N - суммарное количество карт на сервере и сайте (если карта входит в оба списка, то она расценивается как две различных карты).

За рекорды с оружием SP не даётся. Это и есть тот единственный момент, который мы пока не смогли разрешить. Также в будущем нужно будет адаптировать систему выдачи очков для lj рейтингов, которые сейчас отсутствуют.

В зависимости от количества SP игроки делятся на четыре группы:
  • SP меньше 6*N - игроки без Лиги
  • SP больше или равно 6*N - Sapphire League (Сапфировая Лига)
  • SP больше или равно 12*N - Emerald League (Изумрудная Лига)
  • SP больше или равно 18*N - Ruby League (Рубиновая Лига)
Такое деление пригодится нам в будущем, пока лишь скажу, что помимо очевидного превосходства по количеству SP игроки из высших Лиг получат небольшие бонусы на сервере. Лига будет указана в профиле на сайте, аватарка при этом подсветится цветом соответствующего камня (синий сапфир, зелёный изумруд, красный рубин). Так как Лига игрока зависит от количества карт, то помимо удерживания высоких мест в топах сервера и рейтингах карт на сайте потребуется проявлять себя и на новых картах, которые будут постепенно добавляться.

Как только топы более-менее заполнятся, то пользователи получат возможность потратить очки. Однако тратить они будут не SP, а EP (Experience Points). EP игрока не может превышать его SP. Как только игрок получает какое-то количество SP, он также получает столько же EP. Пока очки не тратятся, количество SP и EP будет всегда одинаковым. 

Потратить EP можно будет на приобретение VIP на сайте. Всего будет три уровня VIP, стоимость которых в точности соответствует порогам для попадания в Лиги:
  • VIP 1 Level - 6*N EP
  • VIP 2 Level - 12*N EP
  • VIP 3 Level - 18*N EP
Чем выше уровень VIP, тем больше информации о демках в аплоаде видит пользователь, и тем выше для него лимит аплоада. На сайте VIP будет выделяться цветным ником и иконкой. Если есть предложения по поводу того, что ещё можно дать VIP пользователю, пишите в комментариях.

Помимо покупки VIP пользователь сможет потратить EP на заливку старых (записанных до 2016 года) демок. Одна демка будет стоить 2*N EP. Таким образом, если игрок, к примеру, потратил достаточно сил на попытку побить свой старый рекорд, но так и не смог улучшить время, то он может потратить EP на то, чтобы залить свою старую демку.

Сменить ник на сайте в первый раз можно будет свободно, второй - за 6*N EP, третий - за 12*N EP, каждый следующий будет стоить 18*N EP.

После того, как пользователь потратил EP, ему каждый день начисляется N/15 EP. То есть, если вы потратились на VIP Level 1, то EP автоматически восстановятся через 90 дней. Процессу регенерации можно посодействовать: за каждое прохождение карты на сервере со временем, попадающим в nub15 или pro15, вы получаете бонусом N/25 EP (независимо от того, улучшили вы свой рекорд на карте или нет). Как только EP достигает своего максимума, то есть становится равным SP, то регенерация оканчивается, и получения бонусов не происходит вплоть до того момента, когда игрок снова потратит свои EP.

Сервер
(автор: Kpoluk)

IP сервера: play.kz-rush.ru:27015

Как и во всём остальном, в плане сервера мы ориентировались прежде всего на базовую функциональность. Много времени ушло на реализацию системы очков, но зато в техническом плане получилась весьма уникальная вещь. SP и EP выдаются и обновляются сразу же после прохождения карты. Причём как в базе данных, так и на сервере (если нажмёте на TAB, то увидите, что SP = количество убийств, а EP = количество смертей). Так как тратить EP пока нельзя, то сейчас SP будет в точности равно EP.

1) Чекпоинты
/cp, /check, /checkpoint - сохранить позицию
/gc, /tp, /gocheck - загрузить позицию
/stuck - загрузить предпоследнюю позицию (меняет местами два последних чекпоинта, поэтому при повторном использовании вернёт на прежнее место)
/start - телепортирует игрока на стартовую позицию
/setstart, /ss - установить желаемое место старта. По умолчанию используется старт, общий для всех. При помощи этой команды можно задать такое место старта, которое вам заблагорассудится
/spawn, /respawn - телепортирует игрока на респаун карты

2) Наблюдатели
/spec, /ct - перейти за наблюдателей и обратно
/speclist - скрыть/показать список наблюдающих за вами
/speckeys - скрыть/показать клавиши, нажимаемые игроком, за которым вы следите

3) Работа с таймером
/pause, /unpause, /p - остановить/запустить таймер (в паузе можно перемещаться, при возобновлении работы таймера вас телепортирует на то место, где вы инициировали паузу)
/reset - сбросить таймер

4) Полёты по карте
Стандартный бинд для хука: bind "кнопка" "+hook"
Хук могут использовать все живые игроки в любое время (при использовании хука с включённым таймером игрок переходит в режим паузы, из которого может выйти командой /unpause или просто /p)
/noclip, /nc - режим свободного перемещения по карте. При запущенном таймере, как и хук, поставит время на паузу. При выходе из этого режима игрока всегда телепортирует на то место, в котором он включил его

5) Оружие
/weapons, /weapon, /weap, /guns - получить набор оружия. Также можно получить конкретное оружие при помощи команд:
/usp, /knife, /deagle, /scout, /p90, /famas, /sg552, /m4a1, /m4, /ak47, /m249, /awp

6) Топы
/top15, /top10, /top - меню, в котором можно открыть pro и nub топы
/pro15, /pro10, /pro - топ рекордов без чекпоинтов (точнее без /gc, количество /cp не учитывается)
/nub15, /nub10, /nub - топ рекордов с чекпоинтами

7) Меню
/menu, /mainmenu, /main - главное меню, появляется при заходе на карту, а также при нажатии кнопки M. Из него можно попасть в kz меню, invis меню, top15 меню. Здесь же кнопка, выполняющая команду /setstart
/kzmenu - меню с набором команд по работе с чекпоинтами и таймером
/invis - меню, в котором можно сделать невидимыми игроков и воду на карте



Просмотреть топ можно пока что только для ножа/usp/deagle, просмотр рекордов с оружием будет возможен прямо из этих топов позже. Ещё раз повторю, что SP за прохождение с оружием сейчас не выдаётся. Топы lj как сайте, так и на сервере пока отсутствуют.

Помимо этого следует отметить, что на всех картах, имеющих hp booster, игроку даётся много hp (когда появятся slide карты, то там все получат godmode). Там же, где booster'а нет, игрок может умереть, в этом случае его телепортирует на место последнего сохранения (или на старт, если сохранений нет).
Все игроки получают удобный nightvision, не влияющий на fps (клавиша N).

Позже будут переписаны плагины смены карты и админка, у игроков появится возможность сохранить собственные настройки, в частности сохранить позицию и время перед сменой карты командой /savepos.

Сборка LAN сервера
(автор: Kpoluk)

Создание плагина для сервера прибавило опыта, так что в сборке произошли некоторые усовершенствования в плане работы с оружием и организации работы с наблюдателями. PandaXR разместил на сайте скрипты, которые получают рекорды с xj и cosy, так что в сборке вновь заработало автоматическое обновление рекордов. Ну а команда /ru теперь означает "показать рекорд kz-rush". Правда рекордов у нас ещё нет, так что пока её можно не трогать.

Файлы amxx.cfg и конфиг uq статы снабжены помимо оригинального текста переводом на русский, причём текст отображается нормально как в обычном блокноте, так и в более продвинутых редакторах (Notepad++, Sublime Text, они по умолчанию используют кодировку UTF-8).

Описание к сборке будет постепенно появляться вместе со статьями. На данный момент новичков у нас мало, так что все в курсе, как ей пользоваться. Скачать сборку можно на странице загрузок.