Jump to content
V3ct0r

Услуги по Пиратии / Tales of Pirates

Recommended Posts

Временно не предоставляю услуги


Share this post


Link to post
Share on other sites

Снова предоставляю услуги


Share this post


Link to post
Share on other sites

OfflineStall.png

 

Сервер оффлайн-ларьков, который позволяет игрокам оставлять своих персонажей торговать в ларьке, когда они выходят из игры:

1. Игрок ставит ларек;

2. Закрывает игру;

3. Если игрок поставил ларек на определенной карте (задается в настройках), то его персонаж останется торговать.

  • Like 2

Share this post


Link to post
Share on other sites

Статистика для сервера с отображением прироста

dstat.png

 

Скрипт регистрации игровых аккаунтов, который автоматически создает пароль и отправляет его на указанный адрес электронной почты (e-mail)

reg_index.png

 

reg_email.png

 

 

Цветные ники для персонажей. Ник персонажа изменяет свой цвет, если на персонажа надеть определенный предмет.

Neckc1.png

Neclc2.png

 

  • Like 4

Share this post


Link to post
Share on other sites

1) Обновление сервера оффлайн-ларьков

Персонажи остаются торговать в ларьках, когда игрок выходит из игры.

 

offlinestall30.png

 

1) Исправлены IP адреса игроков в базе данных, теперь в базе данных сохраняются их реальные IP адреса, а не 127.0.0.1;

2) Исправлено случайное отключение игроков;

3) При попытке зайти на аккаунт, который находится в оффлайн ларьке, игрок не увидит сообщение "Ваш аккаунт уже в игре";

4) Исправлена настройка автоматического отключения оффлайн ларька, когда он становится пустым. Теперь оффлайн ларьки рядом не будут отключаться.

 

2) Возможность давать названия флотским гильдиям (Navy Division)

 

cg1.pngcg2.png

 

3) Возможность указать GameServer.exe название игровой базы данных

По умолчанию GameServer работает с базой данных под названием GameDB и это название нельзя изменить, так как оно зашито в GameServer.exe.  В GameServer.cfg добавляется настройка, которая позволяет указывать GameServer.exe с какой базой данных работать.

db_name = HelloWorld

4) Качели (Swings)

sw1.pngsw2.png

sw3.pngsw4.pngsw5.png

sw6.png

 

5) Программа для обрезки карт вместе с объектами

Скачать образцы

map_2.png

 

map_1.png

 

 

6) Веб-обвязка для сервера

s1.png

s2.pngs3.pngs4.png

s5.png

  • Like 3

Share this post


Link to post
Share on other sites

Сколько цветов ника возможно и где производится настройка?
 


Делай добро и бросай его в воду

Share this post


Link to post
Share on other sites
В 10.12.2017 в 02:46, NMS3RR сказал:

Сколько цветов ника возможно и где производится настройка?
 

Цветов можно поставить много, настройка - патчинг Game.exe из клиента


Share this post


Link to post
Share on other sites

1) Командный захват флага (Capture the Flag, CTF)

 

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

 

map.png

Карта и схема Захвата флага

 

Битва начинается с того, что на определенной карте, в моем случае в Аргенте, появляется портал, который ведет игроков на Захват флага.

1.png

Портал, ведущий на Захват флага, в городе Аргент

 

При входе в портал, игрок случайным образом попадает в команду красных или команду зеленых. Если в одной из команд игроков меньше, то игрок отправляется сражаться за команду с меньшим числом игроков. На карту нельзя попасть в составе отряда: перед тем как войти в портал, игрок должен быть вне отряда. Затем игрок появляется на соответствующей базе.

61.png

База Зеленых

 

62.pngБаза Красных

 

На базе каждой из команд имеется по 3 точки появления (респаун), на которых игроки будут появляется после входа на карту или возрождаться после смерти. Также на базах есть специальные NPC - Командующий командой зеленых и Командующий командой красных, соответственно. С их помощью игрок может:

  1. Полностью и бесплатно восстановить здоровье и ману своего персонажа;
  2. Просмотреть текущий счет (сколько очков заработала каждая из команд);
  3. Выйти с карты.

3.png

Диалог с NPC

 

Следует отметить, что игрок не может общаться с Командующим вражеской команды. Вместо этого, NPC будет пытаться демотивировать игрока. Таким образом, восстановить здоровье и ману, либо сбежать с поля боя на вражеской базе не получится.

 

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

21.png22.png

Места для флагов на базах команд

 

После того, как игрок принес на базу флаг, для того, чтобы его команде засчитали очки, он должен встать на данную площадку.

 

В центре карты находится флаг, который представляет собой Волшебный куст, отмеченный особым эффектом.

8.png

Куст с флагом в центре карты

 

Чтобы получить флаг, необходимо убить Куст, после чего флаг переходит к убившему Куст игроку, который теперь будет подсвечиваться особым эффектом.

4.png

Игрок Test1024 захватил флаг

 

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

 

Далее игрок, захвативший флаг, должен принести его на свою или вражескую базу. Если игрок приносит флаг на свою базу, то его команда получает +1 очко. Если игрок приносит флаг на вражескую базу, его команда получает +2 очка. Таким образом, выгоднее приносить флаги на вражескую базу, но с другой стороны это сложнее сделать.

5.png 

Игрок Зеленой команды принес флаг на базу Красной команды, и Зеленая команда получила +2 очка

 

Битва продолжается до тех пор, пока одна из команд не наберет N очков, либо пока не выйдет время. Если вышло время, то победителем становится команда, которая набрала наибольшее количество очков. Все игроки из команды-победителя получают награду.

  • Like 1

Share this post


Link to post
Share on other sites

2) Скрипт регистрации игровых аккаунтов

 

registerscript.png

 

С помощью данного PHP-скрипта игроки смогут создавать игровые аккаунты на Вашем сервере. Скрипт совместим с последними версиями PHP и использует интерфейс PDO для доступа к базе данных аккаунтов.

 

3) Русские названия гильдий пиратов и флота

 

guildnames.png

 

С помощью данной модификации игроки смогут создавать пиратские и флотские гильдии с названиями на русском языке.

 

4) Редактор списка NPC

 

npceditor.png

 

С помощью данной программы можно удобно редактировать NPC, которые должны присутствовать на карте.

  • Like 2

Share this post


Link to post
Share on other sites

1) Смена имени персонажей в игре

 

С помощью данной модификации игроки смогут переименовывать своих персонажей не выходя из игры.

 

Для этого игроку необходимо подойти к специальному NPC

0.png

 

И поговорить с ним:

1.png2.png

3.png4.png

 

После чего откроется форма для ввода нового имени:

5.png

 

Условия для переименовывания персонажа:

1) Новое имя должно быть длиной от 5 до 15 символов включительно;

2) Игрок может использовать только английские буквы и цифры, без пробелов;

3) Новое имя должно быть уникальным, то есть не быть уже используемым другим персонажем. Регистр букв не имеет значения, т.е. pKoDeV и PkOdEv это одно и то же имя;

4) Игрок может переименовывать персонажа не более N раз в сутки;

5) Необязательно: Для переименовывания своего персонажа игроку необходимо принести определённые предметы, золото, очки репутации, выполнить квест и так далее;

 

Если все условия соблюдены, то после нажатия кнопки "Переименовать" персонаж игрока сразу же, без перезахода в игру, получит новое имя:

6.png8.png

7.png

 

В противном случае, игрок увидит ошибку:

9.png

 

Некоторые особенности:

  • После переименовывания персонажа в логах будет создана новая запись, по которой можно будет узнать прежнее имя персонажа;
  • Система защищена от SQL-инъекций, т.е. от взлома;
  • В целях защиты от флуда, игрок может переименовывать своего персонажа не более N раз в сутки;
  • Игрок не может выбрать уже существующее имя, т.е. персонажей с одинаковыми именами не будет;
  • Модификация не использует расширение LuaSQL и наработки других пользователей.

 

2) Программа для настройки и запуска игрового клиента

 

settingsprogram.png

 

Используя эту программу, игрок может легко изменить интересующие его настройки, выбрать интерфейс игры и запустить игру.

  • Confused 1

Share this post


Link to post
Share on other sites

Браслеты, пояс и наручи

 

bracelet.png

 

Данная модификация вводит в игру новые типы экипировки из 2.x версий игры - браслет, пояс, наручи.

 

Чтобы надеть на персонажа новый тип экипировки, необходимо произвести двойной щелчок мышью по соответствующей пиктограмме в инвентаре персонажа, после чего экипировка появится во временном мешке. При этом, чтобы экипировка дала персонажу характеристики, необходимо расположить её во временном мешке в определенном порядке (см. скриншот):

  • 1 и 2 слоты - браслет;
  • 3 слот - пояс;
  • 4 слот - наручи.

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

Характеристики новой экипировки указываются в ItemInfo.txt, точно так же, как и для любого другого типа экипировки.

 

 

Медали со званиями

 

medals.png

 

Модификация позволяет создавать медали с различными званиями, которые отображаются в скобках перед именем персонажа (см. скриншот).

Текст и цвет звания указываются в ItemInfo.txt.  Текст звания указывается в описании предмета, а цвет в формате FFRRGGBB вместо модели на Ланса в 5-ом поле.

 

Примеры медалей:

8901	Medal 1	l0005	10130005	FFFF0000	0	0	0	0	0	25	0	0	0	0	0	1	1	1	1	1	1	32	-1	1	-1	0	0	5	-1	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0,0	0,0	0,0	0,0	0,0	0,0	0,0	0,0	0,0	0,0	0,0	0,0	0,0	0,0	0,0	0,0	0,0	0,0	0,0	0,0	0,0	0,0	0	0,1000	10000,10000	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	Admin
8905	Medal 2	l0005	10130005	FF00FF00	0	0	0	0	0	25	0	0	0	0	0	1	1	1	1	1	1	32	-1	1	-1	0	0	5	-1	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0,0	0,0	0,0	0,0	0,0	0,0	0,0	0,0	0,0	0,0	0,0	0,0	0,0	0,0	0,0	0,0	0,0	0,0	0,0	0,0	0,0	0,0	0	0,1000	10000,10000	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	maindev	
9000	Medal 3	l0005	10130005	FF0000FF	0	0	0	0	0	25	0	0	0	0	0	1	1	1	1	1	1	32	-1	1	-1	0	0	5	-1	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0,0	0,0	0,0	0,0	0,0	0,0	0,0	0,0	0,0	0,0	0,0	0,0	0,0	0,0	0,0	0,0	0,0	0,0	0,0	0,0	0,0	0,0	0	0,1000	10000,10000	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	PkoDEV

 

 

Цветные имена персонажей

 

colornames.png

 

Данная модификация позволяет создавать ожерелья, которые изменяют цвет имени персонажа (см. скриншот). В отличие от прошлой версии модификации, цвет имени указывается в ItemInfo.txt в 6-ом поле вместо модели на Карциза в формате FFRRGGBB.

 

Примеры ожерелий:

0461	Crystal Naiad	l0004	10130005	0	FFFF0000	0	0	0	00	25	0	0	0	0	0	1	1	1	1	1	1	210384	-1	40	-1	0	0	5	-1	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0,0	0,0	0,0	0,0	0,0	0,0	0,0	0,0	0,0	0,0	0,0	0,0	40,40	0,0	0,0	0,0	0,0	0,0	0,0	60,60	0,0	0,0	0	0,1000	10000,10000	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	
0462	Nimble Venturer	l0004	10130005	0	FF00FF00	0	0	0	00	25	0	0	0	0	0	1	1	1	1	1	1	453940	-1	50	-1	0	0	5	-1	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0,0	0,0	0,0	0,0	0,0	0,0	0,0	0,0	0,0	0,0	0,0	60,60	0,0	0,0	0,0	0,0	0,0	0,0	0,0	80,80	0,0	0,0	0	0,1000	10000,10000	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	
0463	Labyrinth Wanderer	l0004	10130005	0	FF0000FF	0	0	0	00	25	0	0	0	0	0	1	1	1	1	1	1	453940	-1	50	-1	0	0	5	-1	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0,0	0,0	0,0	0,0	0,0	0,0	0,0	0,0	0,0	0,0	0,0	0,0	50,50	0,0	0,0	0,0	0,0	0,0	0,0	80,80	0,0	0,0	0	0,1000	10000,10000	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0

 

Модификация совместима с модификацией "Медали со званиями".


Share this post


Link to post
Share on other sites

Битва за Город Мечты

 

dreamcitypkmap.png

Карта сражения

 

Две команды, Зеленая и Красная, ведут бой за Город Мечты (см. карту). Побеждает команда, которая за отведенное время набирает наибольшее количество очков.

 

Главной особенностью сражения является баланс: урон, наносимый персонажами, не зависит от уровня персонажа и его экипировки. Также на карте невозможно использовать кулинарию и некоторые умения. Таким образом, все игроки равны.

 

Игрок случайным образом попадает в Зеленую или Красную команду. Причем, приоритет отдается команде в которой меньше игроков.

 

У каждой команды есть своя база, которая представляет собой прямоугольную область окрашенную в цвет команды. На базах находятся NPC через которых игроки могут покинуть бой. Игрок не может взаимодействовать с NPC вражеской команды. Находясь на своей базе, персонаж игрока каждую секунду восстанавливает 10% здоровья.

 

dc1.png

База Зеленой команды

 

dc2.png

База Красной команды

 

Находясь на карте, живые игроки каждую минуту получают 10 000 золота.

 

Убив игрока из вражеской команды, игрок получает 1 очко хаоса и 100 000 золота. Игрок, у которого наибольшее количество убийств, выделяется визуальным эффектом, а по окончанию сражения получает награду.

 

Каждые 5 минут на случайных координатах появляются сундуки, открыв которые игроки могут получить ценные предметы. Также каждые 5 минут в GM чат выводится ТОП 3 игроков, которые набрали наибольшее количество очков.

 

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

  • Thanks 1

Share this post


Link to post
Share on other sites

Обновление сервера Оффлайн Ларьков

OfflineStall32.png

 

Версия 3.1

+ Исправлен критический баг, когда сервер ларьков при отключении клиентов все равно продолжал держать соединения с GateServer.exe, что приводило к "забиванию" последнего фантомными подключениями и невозможности подключения новых игроков к серверу;

+ Исправлена настройка max_stalls_per_ip, которая устанавливает ограничение на число оффлайн ларьков с одного IP адреса. Теперь учитываются только клиенты, которые установили ларьки;

+ Добавлена настройка max_offline_trade_time, которая определяет максимальное время работы оффлайн ларька. По истечению этого времени оффлайн ларек будет автоматически закрыт.

 

Версия 3.2

+ Исправлены отключения клиента на сцене выбора персонажа;

+ Добавлена возможность мониторинга ларьков на сервере:

4.png

1.png

2.png

3.png

  • Like 1

Share this post


Link to post
Share on other sites

Обновление сервера Оффлайн Ларьков до версии 3.3

+ Исправлены вылеты игроков.

 

 

 


Share this post


Link to post
Share on other sites

Расширение Оффлайн Ларьков для PKOSite

pkositestallext1.png

 

pkositestallext2.png

 

pkositestallext3.png

 

pkositestallext4.png

 

С помощью данного расширения игроки могут просматривать торговые ларьки на сайте в режиме реального времени. Также игроки могут искать интересующие их предметы в продаже.

 

Расширение требует сервер оффлайн ларьков версии 3.2+.


Share this post


Link to post
Share on other sites

1. Модификация клиента, которая позволяет автоматически подключаться к серверу

 

autologin.png

 

Данная модификация позволяет указывать IP адрес и порт, а также версию сервера, логин и пароль игрового аккаунта в параметрах запуска игры:

start system\Game.exe startgame 127.0.0.1 1973 136 V3ct0r 123456

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

 

 

2. Цветные названия гильдий

 

cclr1.pngcclr3.png

 

На основе этой модификации можно создать систему цветных названий гильдий.

 

Модификация состоит из двух частей:

1) Сервер - отдает клиенту список ID гильдии -> Цвет по протоколу HTTP. То есть, серверная часть представляет собой веб-сервер, который в соответствии с запрограммированной логикой, например на PHP, выдает цвета гильдиям (см. пример ниже);

2) Клиент - загружает с сервера цвета и отображает цветные названия гильдий под именами персонажей (см. изображения выше).

 

Для примера можно сделать веб-панель, в которой лидер выбирает цвет своей гильдии:

cclr0.png 

 

Изначально цвет гильдии был зеленым:

 cclr2.png 

 

Лидер гильдии поменял цвет на оранжевый:

 cclr4.png

 

 

3. Выделение друзей и врагов цветом

 

GuildCircleMod.png

 

Данная модификация выделяет враждебных персонажей красным кругом, а дружественных - зеленым. Возможно сделать выделение зеленым/красным цветами и имен персонажей. 

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


Share this post


Link to post
Share on other sites

1. Отображение наложенных на персонажа эффектов

 

effects_ru.png

 

Мод показывает наложенные на персонажа игрока эффекты в виде иконок и время до их окончания (см. скриншот).

 

Время действия эффекта может зависеть от уровня умения, которое накладывает на персонажа данный эффект, либо указывается в скриптах сервера, например, для НЯ, БУ, СУС и так далее. Поэтому, при первом наложении эффекта определенного уровня, мод будет засекать время его действия (калиброваться) и выводить время в течение которого он уже действует. При последующих наложениях эффекта будет отображаться время, которое осталось до окончания его действия, а на иконке эффекта будет проигрываться анимация КД.

 

Игрок может настраивать мод с помощью команд чата, либо путем редактирования конфигурационного файла:

1) /mod.plug.[enable|disable] - Включить или отключить мод;

2) /mod.plug.setpos([x], [y]) - Установить координаты (X, Y) расположения панели с эффектами;

3) /mod.plug.setlinesize([number]) - Установить количество иконок в строке на панели эффектов. Например, при [number]=3 4-я иконка будет располагаться под 1-й, 5-я под 2-й и так далее;

4) /mod.plug.seticon([id], [level], [icon]) - Установить иконку для эффекта с ID [id] уровня [level]. Иконка эффекта может зависеть от его уровня. При значении [level]=0 иконка будет установлена для всех уровней эффекта;

5) /mod.plug.language.[rus|eng] - Выбрать язык: русский или английский;

6) /mod.plug.timereset - Сбросить записанное время действия эффектов (сбросить калибровку);

7) /mod.plug.effects - Отобразить в системном чате наложенные на персонажа игрока эффекты (см. скриншот);

8) /mod.plug.settings - Отобразить в системном чате текущие настройки мода.

 

 

2. Отображение ЖЗ игроков, монстров и количества ресурсов рядом с ними

 

showhp_ru.png

 

Данная модификация отображает жизни игроков, монстров и количество ресурсов в виде текста рядом с их моделями на игровой сцене (см. скриншот).

 

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

1) /mod.hp.[enable|disable] - Включить или отключить мод;

2) /mod.hp.show.players.[enable|disable] - Отображать или скрывать ЖЗ других игроков;

3) /mod.hp.show.me.[enable|disable] - Отображать или скрывать ЖЗ персонажа игрока;

4) /mod.hp.show.enemy.[enable|disable] - Выделять цветом друзей и врагов, а также ресурсы;

5) /mod.hp.language.[rus|eng] - Выбрать язык: русский или английский;

6) /mod.hp.settings - Отобразить в системном чате текущие настройки мода.

 

 

3. Иконки для гильдий

 

guild_icons.png

 

Мод позволяет устанавливать гильдиям иконки, которые отображаются рядом с их названием под именем персонажа. Возможно реализовать выбор иконок, которые уже находятся в ресурсах клиента, так и иконок динамически подгружаемых с сервера. Иконку можно установить, например, с помощью LUA-функции, либо через веб-сайт.

 

 

4. Автоматическое использование кексов

 

cake_ru.png

 

Этот мод автоматически использует кексы и другие предметы восстановления при значениях ЖЗ персонажа ниже определенного. В настройках мода можно указать ячейку инвентаря, из которой использовать кексы, либо установить автоматический поиск кексов в мешке персонажа; отключать и включать сообщения в систему; устанавливать частоту использования кексов. ID кекса и других предметов восстановления также указываются в настройках.

 

Мод можно включать и отключать с помощью команд чата:

1) /cake-enable - Включить мод;

2) /cake-disable - Отключить мод;

3) /cake-settings - Вывести текущие настройки мода.

 

 

5. Кастомная кнопка

 

discord_button.png

 

Мод добавляет в GUI клиента новую кнопку, при нажатии на которую игрок переходит в Discord-чат сервера.

 

 

6. Функция для GameServer.exe, которая позволяет изменять имена Монстров, NPC, Игроков для данного игрока

 

OnBeginSeeCha1.png

 

OnBeginSeeCha2.png

 

С помощью этой функции можно изменять имена монстров, NPC и игроков (@other), которые отправляются при синхронизации данному игроку (@role). Например, можно сделать чтобы игрок "V3ct0r" (@role) видел Лесного духа (@other) с именем "AAAAAAAA", а игрок "Test1024" (@role) видел Лесного духа (@other) с именем "ББББББББ". Или игрокам можно добавлять в имя уровень их персонажа, а в именах монстров выводить их ID из CharacterInfo.txt (см. пример кода выше).

 

 

7. Функция для GameServer.exe, которая позволяет выбирать точку воскрешения персонажей игроков

 

GetChaRespawnPoint_EN.png

 

При смерти персонажа игрока вызывается функция GetChaRespawnPoint(), в которой можно выбрать точку воскрешения в зависимости от различных условий. Функция может понадобиться при создании карт для командных сражений типа Священной войны и Войны гильдий, так как при смерти игрок воскрешается на последней записанной точке вне карты.

 

 

8. Обход антибота (DLL, которая автоматически распознает капчу и отправляет ответ на сервер)

 

antibot.png

 

ab.png

 

При запросе ответа на капчу, сервер отправляет клиенту 4 случайных BMP-изображения из папки GameServer\resource\Pic. Эти изображения являются монохраматическими, т.е. имеют цветность 1 бит (палитра состоит из 2 цветов - белого и черного), размеры 26 на 29 пикселей и весят 178 байт.

 

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

 

Изображения, которые лежат в папке Pic сервера:

H.png M.png Y.png

 

Примеры изображений, которые получает клиент:

image.png m.jpg y.png

 

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

M0.png => M1.png => "M"

 

Стоит отметить, что DLL распознает капчу с не 100% вероятностью: могут возникать ошибки распознавания текста. Если DLL вообще не может распознать какой-либо символ из 4-буквенного кода, то появляется окошко для ввода капчи и управление процессом передается пользователю (на скриншоте в шапке поста окошко ввода капчи отображается принудительно). Также DLL может перепутать символы, например, символ "6" на изображении определить как букву "C", в этом случае на сервер будет отправлен неверный код, и сервер может кикнуть игрока после 3-ех неверных попыток.

  • Like 2

Share this post


Link to post
Share on other sites

1. Обновление Веб-обвязки для сервера

 

1.1 Авторизация через Google и Facebook

Если при входе через Google/Facebook в базе данных AccountServer есть аккаунт с email, привязанным к Google/Facebook пользователя, то происходит вход на аккаунт:

le1.png

 

Если при входе через Google/Facebook в базе данных AccountServer нет аккаунта с email, привязанным к Google/Facebook пользователя, то пользователь проходит упрощенную регистрацию и далее сразу попадает на аккаунт:

le3.png

 

Если при входе через Google/Facebook в базе данных AccountServer есть несколько аккаунтов с email, привязанным к Google/Facebook пользователя, то пользователь выбирает аккаунт, на который войти:

le2.png

 

1.2 Игровая база данных предметов и монстров

 

le13.png

 

le6.png

 

 

le8.png

 

le4.png

 

le11.png

 

le5.png

 

le9.png

 

le12.png

 

le7.png

 

le10.png

 

1.3 Интернет-магазин наборов кристаллов для внутриигрового магазина

 

le14.png

 

le15.png

 

le16.png

 

le17.png

 

 

2. Программа для просмотра и редактирования инвентаря\временного мешка\банка персонажей

 

TOP Bag Editor 0.png

 

TOP Bag Editor 1.png

 

TOP Bag Editor 2.png

 

TOP Bag Editor 5.png

 

TOP Bag Editor 3.png

 

TOP Bag Editor 4.png

  • Like 1

Share this post


Link to post
Share on other sites

1. Иконки перед именем персонажей

 

icon_1.png icon_2.png icon_3.png

 

Данная модификация позволяет устанавливать персонажам различные иконки напротив их имен с помощью lua-функций в скриптах сервера:

-- Установить иконку игроку
SetPlayerIcon(role, icon_id)

-- Получить текущую иконку игрока
local icon_id = GetPlayerIcon(role)

 

2. Часы синхронизированные со временем сервера

 

clock_1.png clock_2.png

 

Данные часы показывают текущее время сервера и не зависят от времени, установленном на компьютере игрока.

 

3. Кнопка, которая скрывает названия торговых ларьков

 

hide_01.pnghide_0.png

 

hide_1.pnghide_2.png

 

Данная модификация клиента добавляет кнопку, которая позволяет игрокам скрывать названия торговых ларьков.

 

  • Like 1

Share this post


Link to post
Share on other sites

1. Отображение уровня предметов в инвентаре

 

1. ItemLv.png

 

На иконках некоторых предметов (самоцветы, феи, оружие) отображается их уровень.

 

 

2. Отображение названия предмета в аппарели

 

2. ItemApparel.png

 

В описании предмета-аппарели появляется название предмета, который вставлен в данную аппарель.

 

 

3. Система демонических шлемов (Nightmare Demonic Helm)

 

3.1 NightmareHelmMod.png

 

3.2 NightmareHelmMod.png

 

Данная система представляет собой набор шапок с определенными характеристиками, зависящими от их уровня. Уровень шапки можно повышать с помощью специального предмета. Шапки можно вставлять в аппарель, а также улучшать в аппарели.

 

Когда игрок надевает шапку, рядом с именем его персонажа появляется иконка, соответствующая уровню шапки.

 

 

4. Торговля в ларьках за золото или предметы

 

4.1.r StallSelect.png 4.2.r StallSelect.png

 

4.3 StallSelect.png4.4 StallSelect.png

 

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

При помещении предмета в слот ларька, игра спрашивает игрока хочет ли он использовать золото. Если игрок выбирает золото, то предмет продается за золото, как в оригинальной версии игры. Иначе игроку предлагается ввести название предмета, который он хочет получить взамен продаваемого. Далее игрок вводит количество и стоимость продаваемого предмета.


Share this post


Link to post
Share on other sites

1. Обновленная модификация клиента для автоматического входа в игру

 

Quote

autologin.png

 

Данная модификация позволяет указывать IP адрес и порт, а также версию сервера, логин и пароль игрового аккаунта в параметрах запуска игры:


start system\Game.exe startgame 127.0.0.1 1973 136 V3ct0r 123456

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

 

[+] Теперь параметры запуска указываются в формате параметр:значение и их последовательность не имеет значения.

Список доступных параметров:

ip - адрес сервера [Обязателен]
port - порт сервера
version - версия игры из GateServer.cfg
login - логин от аккаунта игрока [Обязателен]
password - пароль от аккаунта игрока [Обязателен]
character - персонаж

Пример:

start system\Game.exe startgame ip:127.0.0.1 port:2015 login:V3ct0r password:123456 version:139 character:V3ct0r

Если в параметрах запуска Game.exe не будут указаны параметры ip, login и password, то игра запустится в обычном режиме. При отсутствующих параметрах port и version значения порта сервера и версии игры будут взяты из Game.exe.

 

[+] Теперь можно сразу войти в игру за персонажа минуя сцену выбора персонажей.

Для этого в параметре запуска character указывается имя персонажа. Если данный параметр не указан, то будет выполнен автоматический вход на сцену выбора персонажа.

 

 

2. Шифрование таблиц (файлы .bin)

 

Эта модификация шифрует .bin-файлы (ItemInfo.bin, CharacterInfo.bin, SkillInfo.bin и остальные) в папке Клиент\scripts\table. Таким образом, из зашифрованных файлов теперь нельзя получить исходные .txt-файлы с помощью декомпилятора, а также их нельзя использовать в других клиентах игры.

 

Файл ItemInfo.bin до шифрования:

BeforeEnc.png

 

После шифрования:

AfterEnc.png

 

Данный мод поможет от кражи предметов, монстров  и других игровых данных с Вашего сервера.

 

 

3. Выделение просмотренных торговых ларьков цветом

 

top.mod.seenstalls1.png top.mod.seenstalls2.png

 

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

 

 

4. Выделение NPC цветом и их координаты

 

top.mod.npcpos.png

 

Имена NPC подсвечиваются другим цветом, а под персонажами NPC отображаются их координаты.

 

 

5. Полоса с уровнем маны

 

top.mod.spbar.png

 

Под полосой уровня жизней у персонажей появляется полоса с уровнем маны.

 

 

6. Встроенная в клиент игры регистрация игровых аккаунтов

 

1en.png

 

2en.png

 

3en.png

 

Данная модификация позволяет игрокам создавать игровые аккаунты прямо в клиенте игры: для этого на форме входа в игру присутствует кнопка "Регистрация", по нажатию на которую отображается форма регистрации. Для предотвращения автоматизированного создания аккаунтов и спама ботами, предусмотрена капча. После успешного создания аккаунта игрок может сразу войти в игру, не вводя логин и пароль.


Share this post


Link to post
Share on other sites

Обновление сервера Оффлайн Ларьков до версии 3.6 от 13.12.2019

 

stallfixed.png

 

ВАЖНО! Была исправлена критическая уязвимость из-за которой злоумышленники могли атаковать StallServer.exe, что в результате приводило к аварийному завершению работы сервера (т.н. падению). Ошибка была связана с переполнением приемного буфера со стороны клиента в StallServer.exe.

 

Тем, кто приобретал данную модификацию, рекомендую в срочном порядке обратиться ко мне за последней версией сервера ларьков (StallServer.exe).


Share this post


Link to post
Share on other sites

Обновление сервера оффлайн ларьков до версии 3.7

 

image.png

 

ВАЖНО! Была исправлена критическая уязвимость из-за которой злоумышленники могли вызывать аварийное завершение работы StallServer.exe (т.н. "падение", "краш"). Данная уязвимость была связана с некорректным размером блока в заголовках пакетов, который подделывали злоумышленники, что приводило к ошибке на сервере при включенных шифровании пакетов и защите от WPE/RPE.

 

Выражаю особую благодарность администрации проекта Kara Online за предоставленную информацию об уязвимости и помощь в её устранении.

 

Тем, кто приобретал данную модификацию, рекомендую в срочном порядке обратиться ко мне за последней версией сервера ларьков (StallServer.exe).

  • Like 1

Share this post


Link to post
Share on other sites
On 12/5/2019 at 11:05 AM, V3ct0r said:

6. Встроенная в клиент игры регистрация игровых аккаунтов

 

1en.png

 

2en.png

 

3en.png

 

Данная модификация позволяет игрокам создавать игровые аккаунты прямо в клиенте игры: для этого на форме входа в игру присутствует кнопка "Регистрация", по нажатию на которую отображается форма регистрации. Для предотвращения автоматизированного создания аккаунтов и спама ботами, предусмотрена капча. После успешного создания аккаунта игрок может сразу войти в игру, не вводя логин и пароль.

in-game-register.png

Автор Storm, для его проекта Sky Pirates Online


Share this post


Link to post
Share on other sites

Всем привет!

 

Хочу показать Вам некоторые интересные вещи, которые я недавно сделал.

 

1. Цифровая панель умений 1 - 0

 

panel0-1.png

 

Расширяет набор быстрых клавиш для активации навыков и предметов: вместе с клавишами F1-F12 можно использовать клавиши цифр 1 - 0. 

 

2. Чат-сервер и чат-клиент

 

Передо мной была поставлена задача написать интерфейс в виде чат-сервера для обмена сообщениями с игровым сервером. Чат-сервер принимает от клиента информацию об игровом сервере (адрес, порт, версию) и об аккаунте пользователя (логин, пароль). Далее он подключается к игровому серверу и входит в аккаунт, после чего отправляет клиенту список персонажей. Клиент должен выбрать персонажа и отправить его чат-серверу, чтобы последний вошел с его помощью в игровой мир. После этих действий чат-сервер начинает принимать сообщения от клиента и пересылать ему сообщения, полученные из игрового мира. Клиентом чат-сервера может быть любое приложение, которое передает данные по протоколу TCP: приложение Windows, веб-сайт, приложение Android и так далее.

 

chatserver0.jpg

 

chatclient4.png

 

Для тестирования интерфейса был разработан легкий клиент, с помощью которого можно обмениваться сообщениями с игровым миром из окружения рабочего стола Windows:

chatclient.png

 

 

С помощью такой системы можно, например, создать чат c игрой в реальном времени на Вашем сайте или разработать Android- и iOS-клиенты для общения между игроками.

 

 

3. Настройка для отображения имен персонажей, монстров, NPC

 

В меню настроек игры добавляется флажок, который позволяет включать и отключать отображение названий игровых объектов.

 

showname0.jpg

showname1.jpg

 

 

4. Отображение дополнительных характеристик персонажа

 

attr.png

 

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

 

 

5. Возрождение боссов

 

Существует проблема, когда после убийства босса, например, Черного дракона, происходит перезапуск сервера. Несмотря на то, что воскрешение босса занимает продолжительное время, босс появляется сразу после запуска сервера, что позволяет некоторым игрокам получить преимущество. То есть, за короткий интервал времени босс может быть убит несколько раз. Была разработана модификация для GameServer.exe, которая исправляет эту проблему.

 

 

6. Канал чата Discord

 

discord.png

 

В игру добавляется новый канал чата для общения с другими игроками в Discord. Игровой клиент подключается к специальной программе, которая, с одной стороны является сервером для игровых клиентов, принимает от них сообщения для отправки на сервер Discord и передает им сообщения, полученные от сервера Discord, а с другой - клиентом-ботом, который взаимодействует с API Discord. На сервере Discord сообщения из игрового мира отображаются от имени бота.

 


Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...