![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
![]()
Сообщение
#1
|
|
Level 9 ![]() Класс: Волшебник Характер: Chaotic Good Раса: Дракон NWN: Скриптинг [PW] ![]() |
Так уж сложилось, что лицензионных версий игры в России почти не водится. В связи с этим на всех русских шардах отключена проверка СД-КЕЯ средствами bioware. Но из-за этого любой игрок может пропустить проверку логин:пароль и зайти на шард под любым логином.
Способов борьбы с этим опять-же - полно. Кто-то требует ввода в поле Deity специального ключа, генерируемого по имени\логину, кто-то записывает СДКЕЙ в БД. Наверное есть еще варианты. Хотелось бы услышать - кто и как с этим борется. Добавлено в [mergetime]1087026014[/mergetime] Вот один из вариантов скрипта. Он привязывает СД-КЕЙ, с которым создали персонажа к логину\имени персонажа. Зайти в игру этим персонажем можно только с этим СД-КЕЙем. На случай смены СД-КЕЯ предусмотренна возможность временного отключения проверки из dm-console командой `dm_setmodulevarint SecurityDisable 1`. Включить защиту обратно: `dm_setmodulevarint SecurityDisable 0` Вызывается из события onClientEnter: ExecuteScript("_security",OBJECT_SELF); _security.nss Код void main() { object oPC = GetEnteringObject(); string sCDKEY = GetPCPublicCDKey(oPC); string sName = GetName(oPC); string sPCName = GetPCPlayerName(oPC); string sID = "(("+sPCName+"))"+sName; //ДМ-ы должны знать пароль и их обычно не проверяют if (GetIsDM(oPC)) return; // Читаем из БД строку по паре логин+имя персонажа string sReadID = GetCampaignString("Security",sID); //Дополнительная возможность банить игрока - положить ему в инвентарь итем с тегом "mg_bootstone" if (!GetLocalInt(GetModule(),"SecurityDisable") && GetIsObjectValid(GetItemPossessedBy(oPC,"mg_bootstone"))) { BootPC(oPC); return; } //Если игрок зашел впервые (только создали) или отключена защита - записываем новый СДКЕЙ if (sReadID =="" || GetLocalInt(GetModule(),"SecurityDisable")) { SetCampaignString("Security",sID,sCDKEY); return; } //Проверяем if (sReadID != sCDKEY && !GetLocalInt(GetModule(),"SecurityDisable") ) { BootPC(oPC); SendMessageToAllDMs("Security: Error! "+sName+" :["+sPCName+"]: with key ="+sCDKEY+ " != "+sReadID); WriteTimestampedLogEntry("Security: Error! "+sName+" :["+sPCName+"]: with key ="+sCDKEY+ " != "+sReadID); return; } } |
![]()
Сообщение
#2
|
|
Level 12 ![]() ![]() ![]() ![]() Класс: Вор Характер: Chaotic Neutral Раса: Человек NWN: Маппинг ![]() |
Хотелось бы услышать варианты защиты по индивидуальному паролю. Очень интересно.
|
![]()
Сообщение
#3
|
|
Level 9 ![]() Класс: Волшебник Характер: Chaotic Good Раса: Дракон NWN: Скриптинг [PW] ![]() |
Цитата Хотелось бы услышать варианты защиты по индивидуальному паролю. Очень интересно. Простой вариант (обсуждалось на realms) - взять строку логин+имя персонажа и построить для нее crc32 - число. Сделать форму для регистрации - игрок отсылает логин+пароль (можно и СДКЕЙ задействовать) и получает в ответ число, которое и должен ввести в поле Deity. При входе скрипт считает crc32 и сверяет с тем, что ввели. Сложность - правильно в скрипте подсчтитать это самое crc32, ведь нету функций получить числовое представление символа и все нужно делать через большие switch - case блоки. Вот простые варианты защиты: Потребовать ввода в поле deity первых 8 символов СД-КЕЯ, через 1. (simple CD-KEY, именно он виден из игры, а не полный СД-КЕЙ). Сейчас, когда появилась функий SetDeity - можно это делать автоматом, если deity пустое - записать туда CD-KEY, если не пустое - сверить с используемым CD-KEY'ем. (замый простой вариант защиты) |
![]()
Сообщение
#4
|
|
Level 12 ![]() ![]() ![]() ![]() Класс: Вор Характер: Chaotic Neutral Раса: Человек NWN: Маппинг ![]() |
Нет, я имел ввиду индивидуальный пароль на шард, когда, где ИП, вводишь свой пароль. (IMG:style_emoticons/kolobok_light/smile.gif)
|
![]()
Сообщение
#5
|
|
Level 9 ![]() Класс: Волшебник Характер: Chaotic Good Раса: Дракон NWN: Скриптинг [PW] ![]() |
Цитата Нет, я имел ввиду индивидуальный пароль на шард, когда, где ИП, вводишь свой пароль. А такого никогда не было и вероятно не будет. Есть всего два пароля - для игроков и для ДМ-ов (есть еще сервер-админ, но это до сих пор не документированно) |
![]()
Сообщение
#6
|
|
Level 12 ![]() ![]() ![]() ![]() Класс: Вор Характер: Chaotic Neutral Раса: Человек NWN: Маппинг ![]() |
Просто мне рассказывали, что такое было на Темпларе. Или может я что-то путаю? Тугодум, разъясни ситуацию. (IMG:style_emoticons/kolobok_light/smile.gif)
|
![]()
Сообщение
#7
|
|
Level 11 ![]() ![]() ![]() Класс: Обыватель Характер: True Neutral Раса: Человек NWN: Маппинг ![]() |
а я то тут при чем?
я говорил что можно написать такую фишку (на Си или Дельфи), чтобы даже посмотреть на перса на акке нельзя было (IMG:style_emoticons/kolobok_light/smile.gif) |
![]()
Сообщение
#8
|
|
Level 12 ![]() ![]() ![]() ![]() Класс: Вор Характер: Chaotic Neutral Раса: Человек NWN: Маппинг ![]() |
Ну вот, я об этом и говорил.
|
![]()
Сообщение
#9
|
|
Level 11 ![]() ![]() ![]() Класс: Обыватель Характер: True Neutral Раса: Человек NWN: Маппинг ![]() |
Ну прога заключается в том, чтобы она коннектилась к мастер-серверу (то есть к игровому) проверяла пароль (в проге нужно логиниться) и если все чики-чики, то прога сворачивается и мастер-серверу разрешается общаться с ИП откуда пришел пароль (то есть добавляет правило в фаирволл или еще что-то)... если не прошла проверка - то игрок вынужден заново ввести код или забит ьна это дело (IMG:style_emoticons/kolobok_light/smile.gif)
|
![]()
Сообщение
#10
|
|
Level 10 ![]() ![]() ![]() Класс: Воин Характер: Lawful Neutral Раса: Человек NWN: Скриптинг [PW] ![]() |
Я шарю немножко в скриптах, но ни разу не пользовался(да и незнаю как) базой данных.
Вот думаю можно при заходе в первый раз если 0 опыта давать 1 опыта, записывать в БД Аккаунт, имя чара, СДкей. Потом если кто попытается войти этим чаром - он клиент энтер в БД ищется аккаунт, есть ли там такой чар, и подтвержается ли СД кей. P.S. Зачем биотвари такую заподлянку по LAN сделало? Пароли и логины не проверяются...Да и некуда их записывать.. у нас же нет мастер-сервера. |
![]()
Сообщение
#11
|
|
Level 9 ![]() Класс: Волшебник Характер: Chaotic Good Раса: Дракон NWN: Скриптинг [PW] ![]() |
Цитата Я шарю немножко в скриптах, но ни разу не пользовался(да и незнаю как) базой данных. Вот думаю можно при заходе в первый раз если 0 опыта давать 1 опыта, записывать в БД Аккаунт, имя чара, СДкей. Потом если кто попытается войти этим чаром - он клиент энтер в БД ищется аккаунт, есть ли там такой чар, и подтвержается ли СД кей. В другом топике тут есть пример такого скрипта. Цитата P.S. Зачем биотвари такую заподлянку по LAN сделало? Пароли и логины не проверяются...Да и некуда их записывать.. у нас же нет мастер-сервера. Плохо читал первый пост (IMG:style_emoticons/kolobok_light/smile.gif) Они сделали, просто у нас никто не играет с лицензионными ключами. Если требовать от сервера проверку ключей - на шарде никого не будет. |
![]()
Сообщение
#12
|
|
Level 11 ![]() ![]() ![]() Класс: Обыватель Характер: True Neutral Раса: Человек NWN: Маппинг ![]() |
Чтобы требовать на сервере проверку ключей - достаточно поставить оригинальный сервер (IMG:style_emoticons/kolobok_light/wink3.gif)
ЗЫ Не измененный nwserver.exe |
![]()
Сообщение
#13
|
|
Level 3 ![]() Класс: Тайный Лучник Характер: Neutral Good Раса: Эльф NWN: Скриптинг [PW] ![]() |
Цитата Просто мне рассказывали, что такое было на Темпларе. Или может я что-то путаю? Тугодум, разъясни ситуацию. Темплар написал прогу, которая перехватывала траффик, расшифровывала его, делала с ним все необходисые безобразия, шифровала обратно и посылала серверу. |
![]()
Сообщение
#14
|
|
Level 1 Класс: Фея Характер: True Neutral Раса: Человек ![]() |
А теперь требует за нее уйму денег.
|
![]()
Сообщение
#15
|
|
Level 6 ![]() Класс: Фея Характер: Chaotic Good Раса: Элементаль NWN: Маппинг Gem of the North ![]() |
Цитата(Ignacius @ Jul 24 2004, 18:33) А теперь требует за нее уйму денег. 1. Про деньги первый раз слышу. Насколько я знаю Сергея, он с самого начала планировал сделать эту прогу freeware после того как отладит ее полностью. 2. Прога работает под Виндами онли. 3. Прога и ее исходники (по его словам) лежат на машине, к которой физически на данный момент нет доступа (почему нет доступа я комментировать не вправе, хотя в курсе этой истории, просто примите данную инфу as is). |
![]()
Сообщение
#16
|
|
Level 10 ![]() ![]() ![]() Класс: Воин Характер: Lawful Neutral Раса: Человек NWN: Скриптинг [PW] ![]() |
(почесывает ручки) :this: какая досада... Вот бы доступ появился - счастья то было...
|
![]()
Сообщение
#17
|
|
Level 4 ![]() ![]() Класс: Друид Характер: Neutral Evil Раса: Эльф NWN: Скриптинг [PW] ![]() |
Эх... Жаль конечно, такая прога пропадает... =)
Но жаль что тока под винду =( |
![]()
Сообщение
#18
|
|
Level 6 ![]() Класс: Фея Характер: Chaotic Good Раса: Элементаль NWN: Маппинг Gem of the North ![]() |
Могли бы немного помочь исходники, но по факту этот софт придется ваять под каждый тип операционки по новой. Как вариант можно прыгнуть на лицензию после того как 1С выпустит ее в России. Я не думаю, что она будет безумных денег стоить.
|
![]()
Сообщение
#19
|
|
Level 9 ![]() Класс: Волшебник Характер: Chaotic Good Раса: Дракон NWN: Скриптинг [PW] ![]() |
Цитата(Lexey aka Hawk @ Aug 10 2004, 16:42) Могли бы немного помочь исходники, но по факту этот софт придется ваять под каждый тип операционки по новой. Как вариант можно прыгнуть на лицензию после того как 1С выпустит ее в России. Я не думаю, что она будет безумных денег стоить. Да, это решит кучу проблем. Игроки десять раз подумают, прежде чем станут нарываться на бан по CD-KEY (IMG:style_emoticons/kolobok_light/smile.gif) К тому же разработчикам будет легко сделать общий черный список совсем отмороженных. |
![]()
Сообщение
#20
|
|
Level 4 ![]() ![]() Класс: Друид Характер: Neutral Evil Раса: Эльф NWN: Скриптинг [PW] ![]() |
"Черный список"... хых =)
Можно и по никам делать списки, благо некоторые есть кто ненавидят менять ники и слишком в них вживаются... |
![]()
Сообщение
#21
|
|
Level 4 ![]() ![]() Класс: Клерик Характер: Lawful Neutral Раса: Человек NWN: Скриптинг [PW] ![]() |
Балгарат к ним не относится... (IMG:style_emoticons/kolobok_light/rofl.gif)
А вот то, что от ДМов не надо защищать - это еще оспоримо. Пример - какой-то ДМ нарушает правила, и его нужно срочно лишить прав, пока он не натворил глупостей под психом. В этом числе он исключается из числа ДМов и при заходе на шард бутится. Доступа к БД у него нету, и он ничего не сможет сделать. На некоторых шардах это достаточно удобно реализовано. :boom: |
![]()
Сообщение
#22
|
|
Level 9 ![]() Класс: Волшебник Характер: Chaotic Good Раса: Дракон NWN: Скриптинг [PW] ![]() |
Цитата(NiMH @ Aug 15 2004, 05:48) Балгарат к ним не относится... (IMG:style_emoticons/kolobok_light/rofl.gif) А вот то, что от ДМов не надо защищать - это еще оспоримо. Пример - какой-то ДМ нарушает правила, и его нужно срочно лишить прав, пока он не натворил глупостей под психом. В этом числе он исключается из числа ДМов и при заходе на шард бутится. Доступа к БД у него нету, и он ничего не сможет сделать. На некоторых шардах это достаточно удобно реализовано. :boom: Если вы с ДМ-ами порядок навести не сможете - о каком порядке на шарде может идти речь? К тому же для ДМ-ов обязателен пароль, которые несложно поменять. |
![]()
Сообщение
#23
|
|
Level 4 ![]() ![]() Класс: Клерик Характер: Lawful Neutral Раса: Человек NWN: Скриптинг [PW] ![]() |
Никогда не вредно иметь дополнительную систему защиты, не так ли?
|
![]()
Сообщение
#24
|
|
Level 1 Класс: Монах Характер: Lawful Evil Раса: Человек ![]() |
Все это конечно хорошо, пароли, защита, итд итп,
но кто то сможет мне обьяснить для чего нужен админ пароль и как им пользоватся ? |
![]()
Сообщение
#25
|
|||
Level 2 ![]() Класс: Бледный Мастер Характер: Chaotic Evil Раса: Нежить ![]() |
никто=),,вернее тут врядли кто-то)) |
||
![]() ![]() |
Текстовая версия | Сейчас: 28th April 2025 - 01:04 |