login:        password:      
Combats Scrolls
Rambler's Top100
Гость БК
Profile Friend page
ru
updated 22.08.08 03:39
22-08-08 @ 02:39

Sanador Open user info Open user photogallery
;
http://video.mail.ru/list/natalia_80/629/672.html

Я думаю, что это: Scrolls.multiLike:)

view mode: linear threads
Total disscussion threads: 11 Pages: 1
«« « 1 » »»

Post reply | Post reply with quote
Lucifeur Open user info
22-08-08 @ 03:05
copy link to clipboard
епть. ты это сам делал? и что случилось с парнем? я просто так и не понял? и как его жена? расскажи по-подробнее если знаешь...очень печальный ролик...
Post reply Ответить с цитированием
Sanador Open user info Open user photogallery
22-08-08 @ 03:19
copy link to clipboard
Я случайно на ролик наткнулся,девушка какая то это делала...
Post reply Ответить с цитированием
Дубинка Open user info
17-10-08 @ 19:42
copy link to clipboard
По просьбам телезрителей, немного технических решений.
Oct. 13th, 2008 at 12:53 AM
1. БК никогда не использовал никакую СУБД. Только файловые решения.

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

3. Обмен данными между серверами осуществлялся через самопального демона. Отсюда и пропажи персонажей когда "что-то не доходило".

4. Где-то в 2004 мы созрели для пробы сетевого диска. По началу на nfs писались только общие логи. После - некоторые общие для всех серверов данные. Через несколько месяцев, мы рискнули и перенесли на nfs всех юзеров (до этого юзеры были только на серверах). Скорость доступа упала в 10-15 раз. Пришлось увеличить период сохранения юзеров с tmpfs в основную базу с 5 минут до 30. Отсюда и откаты до 30 минут, если был поврежден tmpfsный файл. Но был и явный плюс. При зависании железки терялось только tmpfs, а не файлы на харде (они оказывались забитыми нулями при внезапном ребуте, и приходилось откатывать на полночь).

5. Каждый бой писался в отдельный файл. Имя файла - номер секунды.dat, если такое имя уже занято, то номер увеличивался на 1 и т.д. Когда появились подземки, число боев выросло с 15к в сутки до 80к. Секунд стало мало. Добавили дробную часть (rand).

6. Логи писались в текстовый файлик, бэкапер запускаемый в полночь сохранял этот файлик с текущей датой в имени и гзиповал его. zgrep оказался на порядок быстрее и чем SQL и чем Oracle.

7. Однако, паладины, как известно, лица нетрадиционной ориентации. Запросить данные за 90 дней для них - было раз плюнуть.
Сервер не справлялся, пришлось сделать ограничения как временное решение, а потом отдельный сервер, для обработки запросов по логам.

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

9. Распараллеливание. Как распараллелить подземки на кучу камней и при этом не лишиться кеша? Очень просто, пусть запущены 5 копий dungeon.pl, копия 1 обрабатывает только сбор групп. Копии 2-4 обрабатывают подземки, каждая свою Правило простое - остаток от деления номера подземки на 4. (0 - 1я копия, 1 - вторая, 2 - третья, 3 - четвертая).

10. Распараллеленный чат. Всякая заумь с тредами не прокатила. Мемкеш и шаредмемори - оказались безумно медленными, и я сделал все по старинке, как в C когда-то.
Есть файл на tmpfs. На 100000 записей (буффер чата), по 4к каждая (фиксированное значение). Чат делится на chat.pl который показывает и пишет в чат (сохраняя изменения буффера в файле), и на chat_r.pl который только показывает. Т.к. показ встречается примерно в 100 раз чаще, чем запись, то основная нагрузка ложится на копии chat_r.pl, которые подчитывают нужные им элементы массива из файлика. Им не надо читать весь файл. Нужен элемент N20? Читать с позиции 20*4k, первые 4 символа - длинна записи. Затем читается сама запись и thaw. Вуаля. Чат без лагов даже на 4 тысячах юзеров. Чуть сложнее механизм отображения списка людей в комнатах и передачи актуального состояния юзера от chat.pl к chat_r.pl, но схема оказалась простой и надежной.
Классика, хуле...

11. Подземки и боты.
Тут простое решение. Пока юзер не видит бота, он (бот) существует в виде короткой записи о факте наличия. Как только юзер его увидел - бот создается, получает хиты и кучу справочной информации о нем. Все боты по дефолту неактивны (даже не обрабатываются), когда игрок входит на этаж, то движущиеся боты активируются. Когда игрок вступает с ботом в бой, создается боевая копия бота, уже с характеристиками полноценного персонажа, а данжовая копия получает флаг ожидания результата конца боя (иногда этот механизм дает сбой при рестарте сервера и выдается ошибка при попытке напасть). Если бот убит - он опять же, помечается неактивным. Самое громоздкое в этом всем, механизм реинициализации данжа (после рестарта скрипта, например).
Post reply Ответить с цитированием
Дубинка Open user info
17-10-08 @ 19:42
copy link to clipboard
Об оставшихся.
Oct. 7th, 2008 at 5:53 AM
Когда "ушли" Влада, была тема, что с ним общаться нежелательно. Я, как обычно, выложил на это болт. Говорить особо было не о чем, но игнорить его? С хера ли?
К тому же, он подкинул пару-тройку полезных советов, все же Влад - админ, а Роман - тупая деревенщина, без навыков и мозгов, умудрившаяся на пару с товарищем хостером поставить раком NFS на два месяца (август - сентябрь 2007) и сделать апач регулярно отваливающимся.
Ремарка. Жутко не люблю, когда со мной спорят идиоты. В августе 2007 кто-то ддосил IMG сервер, да так, что он лагал на уровне ядра. Эти задроты неделю пытались это исправить, потом еще неделю впаривали, что все нормально, пока я, озверев от этого мудизма, не потребовал поставить фрю и не ебать мозг. Фре на ддос было параллельно. Как и ожидалось. После был дивный момент, когда великий админ Роман, блядь, поменял доступ на сервера и не счел нужным меня проинформировать, а ночью опять грохнулся NFS, и была великая ебля с плясками, для оживления железяки при полном отсутствии рутового доступа.
С тех пор, мы друг друга... слегка недолюбливаем. Я считаю, что зря пожалел это убожище и взял его в свой отдел, а не отправил вслед за Сашей (мудоид "писавший" mail.combats.ru). Он, сука, явно догадывался об этом моем сожалении. Но, поскольку, он оставался единственным админом в БК, то ощутив свою охуенную незаменимость начал выебываться.
Ремарка 2: Я не против выебонов. Если человек реально отвечает за слова и профи в своем деле - я заткнусь и не буду мешать.
С тем же Владом - никаких проблем не было. С Блэкманом были. И именно Блэк в свое время ухитрился проебать конфиг апача так, что база юзеров оказалась доступна из веба. .htaccess забыл скопировать, видите ли. Но я отвлекся.

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

Костя (геймдиз). Я попросил перевести тебя от художников, где вы втроем были кандидатами на увольнение. Мы работали вместе. Ты отпрашивался в другой отдел - я не возражал. Понимая, что зарплата... семья... дочка...
Там ты обломался и попросился опять в мой отдел. И я тебя снова взял. Хоть тем уходом ты создал мне серьезную проблему.
Ты тоже замолчал. Да, я слышал, что у вас мониторят траффик и ведут логи всех асек. Что грозились увольнять каждого, кто заговорит со мной. Понимаю, семья... дочка... зарплата...

Вася (программист). Понимаю, занят скроллами. И вообще, скроллы почти переросли в новый отдел, где ты - начальник.

Никому из вас я не сделал зла. В аське остался только Яша. Он же рассказал мне, что происходило.
Его же и уволили с формулировкой "слишком близко работал с ...". Забавно, не правда ли.

Что ж, если вы считаете для себя нормальным работать в атмосфере паранойи и взаимного стукачества - вы вполне заслуживаете то, что получаете. Видимо, вы считаете нормальным за полгода не сделать ничего и потерять треть пользователей.
Сегодня я видел разницу. Видел другое отношение как к сотрудникам, так и к работе.
Другую атмосферу, где люди не похожи на побитых собак.
И думаю, когда они сменят свою работу, по любой причине, им не захочется ее забыть, как дурной сон.
Post reply Ответить с цитированием
Дубинка Open user info
17-10-08 @ 19:44
copy link to clipboard
Наш первый геймдизайнер и подземки.
Sep. 28th, 2008 at 4:52 AM
Денис. Странный человек. Удивительно интеллигентного вида.
У меня тогда дозрела идея позаимствовать из Eye of Beholder псевдо-3D лабиринты и сделать их на вебе. Денис прописал первые ингредиенты. Первые ловушки. Первых мобов. Первые стоимости "лута на этаж" и границы опыта.
Все было в новинку... эх... это в 2008г. 1000 копий подземки по 400 мобов в каждой "летает", а тогда мы и не рассчитывали больше чем на 100 мобов / 50 подземок. Потом, ему понадобились обменники, которые меняют группы реагентов на что-то. Потом, группы с вариациями. Потом, чтобы оно работало при условиях (есть ключ, убиты монстры и т.д.), потом, чтобы оно могло выдавать изменней предмет, а не просто предмет из магазина. Потом, чтобы эти обменники могли быть невидимыми и активироваться при заходе на клетку. Потом, чтобы можно было выдавать разный текст, в зависимости от итога обмена. Потом, чтобы результатом мог быть рандомный лут из лут-групп.
Ох...
Потом такой же кошмар для ловушек.
Черт, я надеялся, что мы сможем клепать по подземке в месяц/два. На деле все двигалось куда медленнее. Четыре проблемы:
1. Лут. Типа, коммерческий проект и нельзя чтобы вот.
2. Громоздкая боевая система, превращающая создание мобов в ад на Земле.
3. Каждому дизайнеру обязательно хотелось выпендриться и выесть мне моск на предмет добавления очередной десятки фич, которых все равно никто не оценит :-)
4. Все время нужно было делать какую-то "смертельно важную" херню, типа флага в жопе у мерков, с которым они в бой заходили.

Денис сделал: ПТП, "Бздну", Эмеральдовскую подземку. Карту Катакомб. Все ингредиенты падающие в подземках, прикольные тексты при смене статуса боя и для разных комнат...

Потом, я уехал в Питер, в короткий отпуск. Когда я вернулся - его уже не было. Говорят, что он сам внезапно ушел. Потом, он появился, сказал, что болел, прибрался, закрыл быстренько все текущие темы и ушел. Больше я его не видел. Подозреваю, что с ним кто-то из М&М пообщался, но они не сознались :-(
Катакомбы доделывал Азар, которого я забрал, вместе с Яшей и Костей у 3Дшников. Их там мучали, заставляя описывать мир WoW на бумаге. Бугага. :-)
Post reply Ответить с цитированием
Дубинка Open user info
17-10-08 @ 19:44
copy link to clipboard
Об отношении к клиентам.
Sep. 30th, 2008 at 6:34 PM
Большая и сложная тема. Каждый раз, когда я сталкиваюсь с ее обсуждением, у меня ощущение, словно оппоненты с другой планеты... что ли.

Итак, начну со своего отношения. Для меня продавец - не личность. Он делает свою работу и делает ее как безликий сотрудник, а не как личность.

Как следствие, в общении с продавцами я корректен и вежлив. Я не требую от них ничего, кроме их функций. Положил продукты на конвеер. Заплатил. При хорошем настроении пожелал доброго дня/вечера/ночи/утра. Ушел. Все чисто утилитарно. Ничего личного.
Полагаю, именно поэтому, продавцы мне не хамят и никогда не хамили. Я для них тоже не личность, а просто покупатель.
Они обязаны меня обслужить и ничего кроме. Я обязан пройти процедуру оплаты товара и ничего кроме. Точек конфликта нет.
Я не ругаюсь с менеджерами, подходящими с вопросом "Вам помочь?", просто отвечаю "Нет, спасибо". Вежливый вопрос. Вежливый ответ. Вообще, кредо "не создавай другим проблемы" - вполне себе рулит.

Почему-то, это простая и очевидная позиция вызывает много озлобленных комментариев каждый раз, как я ее озвучиваю.
Меня обвиняют в эгоцентризме, чванливости и т.д.
Что характерно, никто из обвинителей не знает даже имени своего управдома, не то, что имен продавцов. А ведь имя - это первое, с чего начинается Личность.

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

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

Артники для меня НЕ КЛИЕНТЫ. Я как инженер-технолог на заводе, а не менеджер в салоне.
Фразу "артники несут деньги" мог привести в качестве аргумента только тот, кто не понимал, что я делаю.
Мои разработки - вот что приносило деньги.
А вежливое общение с "клиентами" - это к Алхимикам. Они за это получали побольше меня, кстати. Разделение труда.
До кучи, забавный парадокс. Артники, это менее 20% общей прибыли БК. А 80% - это безымянные игроки. Но почему-то игроков кидать через хуй считалось нормальным, а Артники - клиенты, бля.

Помню скандальную ситуацию на форуме. Говорят, я "отвечал резковато".
Но в мой круг обязанностей выслушивать оскорбления и нелепые требования не входило.
А если это вне круга моих обязанностей, так какого хера я должен быть вежлив с охуевшими от собственной невъебенной злоебучести мудаками?

Их нужно было сразу слать на хер. И именно импотенция руководства, не могущего принять однозначное решение об артниках, привела к развитию ситуации. Я не могу "отфутболить артников" и я же не обязан быть с ними вежлив.
Патовая ситуация. Навесить мне обязанность "быть вежливым" - невозможно, это не моя работа.
Сделать артников "вежливыми" - аналогично, артники в реале - адекватные солидные люди, но в БК они приходили расслабляться, и вели себя как тупые отморозки в большинстве своем.

Ошибки расли и усугублялись. "ВИП"-клуб. 10к евро. Единоразово. Никакой абонентки.
"Виповцы" получали на каждом праздновании БК отдельное помещение и сервис, им меняли все арты и делали индивидуальный дизайн. Чем закончилось? Им вернули эти 10k, пусть и в игровой валюте.
Вот вы считаете, это нормально? Они, заплатив менее 10% среднемесячной прибыли БК, выедали мозг двум админам, двум программистам и начальнику отдела в течение нескольких лет, получили деньги обратно И ЕЩЕ ОСТАЛИСЬ НЕДОВОЛЬНЫ.

Все это привело к глубокому растущему конфликту между руководством и разработчиками.
Нас обязали писать "извините", каждый раз, когда сервер падает.
За что извиняться? Мы обещали бесперебойную работу? Нет. Кто-то из нас виноват в том, что железка сгорела? Нет. И фирма АМД перед нами не извиняется, так почему же мы должны извиняться? Это делает нас виноватыми. И действительно, через некоторое время даже оперативно устраненные неполадки вызывали море негатива со стороны юзеров, осознавших, что МЫ ВИНОВАТЫ.
Я помню, когда я играл, Sand City висел 70% времени, а каждую полночь там был откат половины юзеров. И никто не извинялся. Хотя, Мерлин-распиздяй, просто, по ходу, забыл создать часть директорий. Мы сделали игру лучше и стабильнее и остались виноватыми.

Этот конфликт не мог незатронуть и паладинов. Их ограничили в правах и возможностях. Причем, идиотски. Зачем забирать блок, когда оставлена тюрьма? Зачем убирать бессрочный хаос, когда можно написать бота "продляюшего" хаос?
Но сам факт неприятен и бьет в первую очередь по тем, кто действительно что-то делал, вызывая у них глухое раздражение лишней работой.
Причина запрета блоков: было 500 блоков в сутки, из которых 450 это 0-1 уровни.
Неужели 50 заблокированных аккаунтов стоили мата в чате, предложений о продаже чара и т.д. - всего того, что паладины не смогли больше убирать, а взломщики, обзаведясь сотней чаров, могли спамить невзирая на молчанки?

Посмотрите на Близзард. Они на хую вертели все требования пользователей. Их программисты не общаются с пользователями, а общаются лишь "постеры" и ГМы получающие за это деньги. Именно ЗА ЭТО. Они кидают баланс постоянно то в одну, то в другую сторону, чего стоило изменение эффективности хейста вдвое (а потом обратно). И тем не менее, плевать им на крики о балансе.
Балансом 1 на 1 они даже и не пытались заниматься. Есть классы специально созданные друг против друга. Варриору ничего не светит против мага. Но в 2 на 2 - другие правила. И никто не ноет "ыыы... я не могу ПВПшиться в протекшин ветке", блядь, конечно не можешь - все это знают. В БК же, с вечными извинениями за все, что ни тронь - тут же нытье.
ЫЫы... убрали воздушным магам возможность спамить Цепь Молний. Ужас какой. Они были вдвое круче остальных, а теперь только в 1.5 раза. И те отсосы, которые играли как говно, вдруг поняли, что даже такой мощный подкласс как воздушный маг - не гарантирует победу. Кто виноват? Конечно же, Администрация.

Почему? Опять же, отсутствие честной декларации прав и обязанностей. Легко в соглашении написать, что пользователь имеет право только на прекращение использования сервиса. А на форуме за слова ответить? Ессно, нельзя... они ж "клиенты".

Как правильно сказал один человек - "не надо работать с пидорасами, даже если они клиенты - для естества вредно".

Фух, что-то я отвлекся. В общем, простое правило - живи и не мешай другим. Требуй то, что имеешь право требовать, но лишь проси там, где этого права нет. Как-то так.
Post reply Ответить с цитированием
Дубинка Open user info
17-10-08 @ 19:45
copy link to clipboard
Разное и сумбурно.
Sep. 9th, 2008 at 9:19 AM
Вот опять, "воспоминания хотят на бумагу" :-)

Начало работы...

Для меня БК был средой общения - большая часть друзей и знакомых, клан. Я скучал по ним. Но был прямой запрет на общение и встречи. Все на этот запрет забивали, хоть и с осторожностью, таки удаляя 2/3 контакт листа.

Чтобы перестать мыслить как БКшник, и начать мыслить как "админ", нужно, чтобы прошло время.
А почему нужно мыслить "как админ"? Потому что, за 5 лет работы в комбатс, я ни разу не видел четкого ТЗ ни на что вообще, многое предлагалось додумывать самостоятельно. В такой атмосфере, БКшник неизбежно попытается исправить то, что исправлять не надо. Возьмем Артема, например... он за год работы так и не понял, что он больше не паладин.

Ощущение "несправедливости" происходящего - общая болезнь всех БКшников, которые работали в комбатс.
Желание "изменить мир", опираясь на личные предпочтения.

Мне удалось избежать личных привязок, для меня - правота выше всего остального.
"Я прав / Это правильно" - важнее, чем дружба или выгода. По крайней мере, я ни о чем не жалею :-)

Эта правота позволила мне вносить изменения в БК, безотносительно кланов, друзей или врагов.
Я недолюбливал Michgunz (или как его там?) за вполне определенные вещи. Но в блок он попал за зафлуживание личного дела микропереводами. И то, на пару дней, как и все остальные. Я отдалился от клана - они видели во мне лишь некое средство получения игровых бонусов, а я не мог им этого предоставить, просто потому, что считал это неправильным (привет Таленору, кстати ;-) ).
Выход был один - стать трудоголиком. Первый год, я частенько ночевал в офисе. Выходных не существовало. Было столько всего, что нужно исправить, доделать, переписать. "Тушим, где горит". Какой-то козел зафлудил форум? Вуаля, таймаут на добавление топиков и ответов в топиках. Мерлину неймется и через оставленную дырку он расформировал все кланы? Ищем / закрываем дырку, восстанавливаем кланы. "Кровавыми" загоняли в минуса? Неправильно. Будет просто обновляться время. Многочасовые маринады, приводящие к ничье - это смерть клановых войн? Не вопрос, будут элементали Шторма/Бури, которые будут драться с командой. И пусть лучше все выиграют, чем бой сотрется по таймауту. А, чтобы не тянули, убрал возможность маринада записками комментатора.

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

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

Немного о Мерлине. Я его не видел в РЛ. И мне, в целом, все равно, по какой реальной причине он ушел из БК, как получилось так, что он оставил кучу дырок / багов и ноль документации. Его проблема, имхо, вовсе не в нечестности на руку - я полагаю, что это была самозащита, хоть и не очень красивая. Его проблема, что он не умел подбирать себе партнеров.
Нет, ну в самом деле, no offence, но Леша не программист, весь код БК был Мерлиновский, половина идей - Мерлиновская. Леша говорил, что он прописывал первые предметы, но он не смог объяснить, почему статы именно такие (полагаю, это было "мы пахали..."). Маша обеспечивала коммерческую деятельность, а именно - создание и поддержание фирмы.
На деле, это должно было быть партнерство вида 50 на 50. А в реале получалость 33/66.
Даже у меня в разговоре с Лешей, мысль послать его на хер возникала каждые 5 минут - он откровенно не слушает и не уважает собеседника, не пытается объяснять свои идеи и не дружит с логикой.
Проблема споров с М&М заключалась в их абсолютном непризнании собственной неправоты и наличии двойных стандартов к точкам зрения - их точки зрения априорны и не нуждаются в доказательствах, точки зрения всех остальных заведомо ложны. Леша, например, до сих пор считает, что он круто разрулил и поимел БоСовцев, портанув их в эмеральд. При этом часами мог рассуждать о недопустимости адмиского произвола и уважении к пользователям. Тьфу. Ну и отношение к проблемам разное...
Идея Мерлина с астралами стихий на оружии. Доработать ее - минутное дело, например, сделать элементалей приходящими всего в 1 бой и накладывающимися только на себя, не дающими опыта, и вуаля - великолепное оружие.
Леша предпочел уничтожить это оружие вообще, изъяв его из игры, подняв срач на года. Это его характерная черта - уничтожать то, что "не его", даже не пытаясь исправить. Черт, там была красивая графика, на этих мечах и топорах. :-(

Но вернемся к Мерлину. По итогам, он оказался "злодеем" и "крысой", хоть сделал минимум 50% работы, а то и 75+%.
В итоге - выкинут на обочину. Насколько я слышал, в TZ произошла похожая ситуация.
"Жестокий мир - жестокие сердца".
Post reply Ответить с цитированием
Дубинка Open user info
17-10-08 @ 19:46
copy link to clipboard
Превосходство Борна...
Sep. 19th, 2008 at 4:50 PM
2003-2004гг. Уход...

Меня спросили, не знаю ли я программистов, типа для найма в БК. Я сказал, что знаю и порекомендовал Рому (Blitaz). Мы с ним долгое время работали вместе в адалт вебмастиринге фрилансерами-программистами всего подряд. Так что, тему веба он знал туго и грамотно. Неприятности начались с момента его прихода на собеседование. Маша расспросила его о жизни, о том, как он собирается избежать армии, и, услышав что "ну... жена есть, дети... если понадобится, хоть торопиться не хочется, на ноги бы встать сперва" впала в священную ярость малопроявляемую внешне. Для начала, из меня сделали манекен для примера футболок с логотипом БК. Мои вялые отговорки, что я ненавижу (искренне) любую одежду с логотипом и вообще, я программистом вроде работаю, а не моделью - были отметены. Эдакая демонстрация "кто тут хозяин". Ладно, проглотил. Ромку приняли на работу. Месяц испытательного срока. Оклад - 300$. Это не опечатка. 300$.
За два месяца работы, он сделал в БК довольно много мелких технических правок, в том числе половину локализации на eng (геймдизайн его не интересовал) и переписал энциклопедию преметов.
Старая энциклопедия создавалась вручную. Т.е. был некий шаблон, где заполнялись поля и по ним генерилась страничка. Он сделал автоматическую генерацию энциклопедии по текущим магазинам, с возможностью добавлять предметы в "бан", просмотром "новых" предметов и т.д. Сложности были в путанице подкатегорий для предметов. Например, категория 3 - оружие, но 3-11 - большой букет находящийся в разделе "подарки". Или что-то типа. В общем, когда и на второй месяц он получил $300 вместо обещаной 1000, он решил, что уходит. Я тоже. Меня не устраивает, когда не держат обещания. Тогда же, уже будучи изрядно задолбанным бесконечными спорами, наездами и ощущением, что я делаю какой-то ненужный отстой (локализация) я разговорился с Красной Рысью. Так, треп о разном, заодно на жизнь пожаловался. Мол, это пиздец невыносимый, меня достали все поименно и вот конкретно чем.
Гг.
Она меня "сдала" через минуту после окончания разговора. Весь текст разговора Кокосу, а он передал его дальше.
Я никому и никогда не прощаю игры против меня. Враг однажды - враг навсегда. Это предопределило наши рабочие отношения с Кокосом - он сам себе перечеркнул любую возможность воспользоваться моей помощью и/или защитой.
Тогда же на работе появился Влад, как наш типа-начальник. Забегая вперед скажу, что против Влада ничего не имею. Он ни разу не сделал мне гадость. Свое сисадминское дело знал неплохо. И быстро прекратил строить из себя начальника, когда понял, что к чему. Да, говорят он крысятничал, выбивая сервера по более дешевым ценам, нежели задекларирваны, но лично меня это не касается. Низкую cтоимость хостинга и серверов он обеспечивал, железки за 20к мы покупали за 15, грубо говоря. Т.е. в любом раскладе его действия были выгодны фирме в целом.

Итак, день зарплаты. Ромка получает 300$, мы синхронно говорим, что хотим уйти. М&М нет ни в офисе, ни даже в России. Начинается паника. Нас уговаривают "поступить как взрослые", "не пороть горячку" и т.д.
Мы стоим на своем - просто хотим уволиться, без лишних проблем.
Через полчаса приносят бумагу, где "в течение 5 лет обязуюсь не заниматься бла-бла-бла". Естественно, посылаю. Кто они такие, чтобы я ради них отказывался хоть от чего-то? В начальном контракте этого не было.
Через 5 минут звонок, низкий сиплый голос советует "подписать по хорошему". Игнорирую. Соглашаюсь продать домашнюю машину за 500$ (старье, ей красная цена была 300, ничего важного на ней не было). Ко мне домой едет делегация из Влада и Кокоса, тщательно все исследуют и забирают комп.
Угрозы продолжаются, в том числе и "посадить в тюрьму" от человека представившегося каким-то ФСБшником. На мое контрпредложение встретиться лично и поговорить - отказ. Трусливые нынче офицеры, шопиздец.
На всякий случай позвонил Каринке. Они с Ваней приехали на следующее же утро. Во всеоружии. До сих пор приятно вспомнить. Никогда особо с Ваней не дружил, но бля, ехать на потенциальные разборки в другой город просто за знакомого... это сильно. В целом, это была превентивная мера безопасности. Никто так и не пришел. Ни рота омона, ни 5 джипов братвы, ни десяток нинзя-киллеров с пушками. Я был даже как-то разочарован. Решил позвонить Маше, узнать, что вообще за херню они творят. Позвонил. Мне дали пообщаться с Лешей. Через 5 минут его истеричного монолога я сделал вывод, что эти милые люди несколько огорчены моим уходом, равно как и обсуждением рабочих проблем с посторонними людьми. Типа, публичный бизнесс, полная конфиденциальность и все дела. После третьей просьбы к Леше успокоиться и говорить нормально - повесил трубку. Интересно, почему истерики считают, что их просто обязаны выслушивать? Через некоторое время перезвонила Маша.
Сказал, что с Лешей общаться не буду. Спокойно поговорили, что как...
Ей удалось найти мое слабое место - намечался переезд с М-10 на ГолденТелеком, а какой переезд, когда меня там нет?
Чувство вины и все такое. Не люблю подводить таких женщин. Не любил, точнее.
Так я остался "на неделю-две, закончить переезд и передать дела". Кстати, я изначально был не против остаться на 2 недели, как положено, но какая-то херня началась...

В общем, остался я еще аж на 4 года... и каждую весну обязательно случалось весеннее обострение разных масштабов. Но это уже другая история :-)

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

ЗЫ:
Ээх... а такая войнушка пропала. Только представьте, у меня на руках диктофонные записи звонков с угрозами. Звонили с сотовых. Номера определены.
Мой комп увезли... какие 500$? Не видел никаких денег. Приехали и насильно забрали. И он лежал на складе фирмы. Работал я там нелегально, без трудовой книжки и не я один... мне-то за это ничего, а вот перед следствием была бы прекрасная картина фирмы, которая эксплуатирует сотрудников, а после занимается угрозами, шантажем и вымогательством, с помощью коррумпированых чиновников. :-)
До кучи абсолютное ощущение собственной правоты и "нечего терять". Плюс, верные друзья, которые не оставят это дело так.
Может именно поэтому, все и решилось мирно. Парадокс силы. Когда есть возможность и желание ее применить, применять не приходится...
А когда нет - каждая сука этим пользуется. :-)
Post reply Ответить с цитированием
Дубинка Open user info
17-10-08 @ 19:46
copy link to clipboard
Sep. 19th, 2008
3:31 PM
http://anekdot.ru/an/an0809/o330919;1.html#6
Кого-то мне этот метод ведения дискуссий очень, очень напоминает. Что ни скажи - все равно виноват. Во всем. И сразу. А если ответить так же, то говорили, что хамло и все такое. :-(
Но все равно, приятно вспомнить. Ностальгия...

Введите содержимое врезки
Любовь инетная.
(в названии нет опечатки)
Тут мне один товарищ рассказал, как он через интернет познакомиться с
девушкой хотел. Далее, от его лица.
Разместил я свою анкетку на трех сайтах, с фото и со всеми ответами на
вопросы, в общем, все как положено. Написал, что ищу девушку для
серьезных отношений, возможно бракосочетание. Дня через два на «ящик»
повалили письма. Сижу, фильтрую, рассматриваю фотографии, читаю резюме.
Выбрал одну. Пишу, что готов встретится, но не тут-то было отвечает, что
надо бы заочно пообщаться в смысле через ICQ или на чате. Ну да ладно,
договорились встретится на чате …, и вот такой произошел диалог, за
точность не ручаюсь, но смысл такой;
- Привет Оля!
- Привет.
- Почему сразу не захотела встретится?
- А вдруг ты сексуальный маньяк?
- Да нет, я нормальный.
- Все так говорят.
- Ну ты же видела меня на фото, я что, на маньяка похож?
- А вдруг это не твое фото? У друга, например взял.
- Ну а после этой переписки, ты сможешь понять, что я не маньяк?
- Конечно, я ведь тебе сейчас вопросы задавать буду.
- Ну давай.
- Только если ты не маньяк, ты не обижайся, ладно?
- Ладно.
- Ты почему через Интернет, знакомиться решил, на фото ты довольно
симпатичный, неужели просто так не можешь?
- Да нет, могу, но в круге моего общения, нет подходящей кандидатуры, а
на улице подойти как-то неприлично.
- А в круге твоего общения, почему тебе никто не подходит, тебе не
нравится с ними трахаться?
- Да нет, просто я не сплю с кем попало, считаю, что для этого должны
быть чувства.
- А какие чувства?
- Ну любовь, например.
- И что у тебя, ее ни разу не было?
- Кого не было?
- Ну любви?
- Ну почему не было, была, даже в школе была.
- В какой школе, ты что педофил?
- Ну какой педофил, просто с одноклассницей у меня был роман, года три.
- И ты ее бросил? После трех-то лет.
- Ну почему бросил, повзрослели, решили, что друг другу не подходим.
- Значит, пока ты ее три года трахал, подходили, а как жениться, уже не
подошли. Вы между прочим, все мужики такие.
- Да нет, ты просто неправильно поняла, она встретила другого, а я
другую.
- Так у тебя еще одна была?
- Ну конечно была, и не одна.
- Так ты бабник?
- Ну почему бабник, просто это же жизнь.
- Это тебе жизнь, а тем кого ты бросил, каково?
- Да я никого не бросал, у меня со всеми остались нормальные отношения.
- Ну а я, какой буду по счету в твоем гареме?
- В каком гареме?
- Ну ты же сейчас сам написал, что со всеми до сих пор трахаешься?
- Ни с кем я не трахаюсь, просто нормальные человеческие отношения.
- Значит у тебя с девушкой нормальные отношения, а ты ее не трахаешь,
ты импотент что ли?
- Ну почему импотент, вполне нормальный мужик.
- Какой же ты нормальный, если баб не трахаешь.
- Ну почему не трахаю, трахаю иногда, когда чувства есть.
- Слушай, ты или заврался, или я понять ничего не могу. Может ты гомик?
- Ну почему гомик, я нормальный мужик.
- Нормальные мужики, баб без всяких чувств трахают.
- Нет, ну и я могу без чувств, но это же неправильно.
- Почему это неправильно, вполне даже правильно, основной инстинкт так
сказать. Ты вот в анкете писал, что менеджером работаешь.
- Да.
- Платят наверно нормально?
- Да ничего, вместе с премией … штук выходит.
- И что, с такими деньгами, ты себе не можешь проститутку позволить?
- Да почему не могу, могу конечно, но это совсем не то, что мне надо.
- А, что тебе надо?
- Ну как тебе объяснить. Ну, я просто хочу встретить девушку, чтобы она
была для меня единственной и неповторимой. Общаться с ней, назначать
свидания. Ну, мало ли что еще.
- Ну, а трахать, ты ведь ее все равно будешь?
- Ну наверное.
- Так вот я тебе и говорю. Деньги у тебя есть, трахаться ты хочешь,
поэтому записывай мой номер телефона …. Позвони, я скажу, куда тебе
подъехать. Бери сто пятьдесят баксов и подъезжай, а хочешь я сама
подъеду?
Post reply Ответить с цитированием
Дубинка Open user info
17-10-08 @ 19:47
copy link to clipboard
Первая профилактика. Чат.
Sep. 6th, 2008 at 6:42 AM
Ноябрь 2003.
Скрипты продолжали падать из-за множества битых storable-файлов в базе - на попытке чтения улетали в out of memory. Не все скрипты переписаны под FCGI, что позволяло клонировать вещи.
Отдельные записи юзеров превышают 5 мегабайт (для сравнения, средняя запись 8го уровня в 2007г. была 70к).
Плюс, нужно было разобраться с чит-вещами и кончающимся местом на дисках.

Выписки ограничили объемом. В принципе, я бы их вообще удалил. Ни в одной игре кроме БК невозможно было даже посмотреть выписку. А кому надо сохранить, тот может и копипаст сделать. Но делать шаг назад всегда труднее. "Раньше ведь сохраняли и ничего".

Клонирование возникало из-за одновременного доступа. А как его избежать?
Ответ прост - лочить записи на время работы. Любая СУБД это умеет. Но и файл залочить тоже несложно. Скрипт, открывая запись, "залочивает" ее, и лишь завершив работу "разлочивает". Остальные скрипты вяло ждут своей очереди. Если ждут больше 0.1 сек., то выдают юзеру что-то типа "бла-бла-бла, одновременный доступ" и просто повторяют запрос.
В теории, нормальный юзер это окно не должен был увидеть никогда.

На малом числе юзеров все работало прекрасно. Однако, стоило какому-то скрипту упасть и "залочивание" сохранялось. Что приводило к отказу работы с данным юзером вообще. А после пары десятков таких юзеров - Service Unavaiable принимал сервер в свои объятия. Печально, но от той системы пришлось отказаться. Вместо нее просто перевели остатки скриптов на FCGI.

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

Нарисовалась и новая проблема - завершенные поединки. Их было по 10к в день. Год - 3 миллиона файлов, ага...
На диске тупо кончалось место и inode.
Решение: Просто склеить все поединки за завершенный день в один файл + создать индексный файл вида "id поединка => позиция в файле, размер записи". Работало даже быстрее, чем дергать по одному файлу. В припадке трудоголизма сделал компрессию через замену стандартных фраз на их номера в массиве (кстати, ранее полагал, что логи генерятся "на лету", а не хратятся в виде текста), что уполовинило объем. Проблем с инодами не стало. Компрессию делала внешняя утилитка, запускающаяся вместе с ночным бэкапом, а просмотрщик логов поддерживал как вариант с кучей файлов, так и с мегафайлом.
Кстати, после всех рокировок эта утилитка почему-то перестала работать в некоторых городах, так что, я переодически ее запускал вручную - будучи запущенной без параметров, она сжимала все, что находило, кроме "сегодня". Интересно, хоть кто-то о ней вообще знает? Хех...

Мелон работал над своей СУБД, которая, по его задумке была бы способна работать не с таблицами, а с деревьями произвольной конфигурации, в т.ч. осуществлять в них поиск/выборку/замену.
Взяли на работу нового программиста на си. Они с Мелоном нашли друг друга, скинув на меня все по БК.

Немного о Мелоне. Я вспомнил название его чара - Аинмарх. Или типа того.
Мелон был фанатом экспериментов с линуксом, на всех городах-серверах стояли разные версии разных линуксов и различные файловые системы, вплоть до jfs. Любимое развлечение - пилить и пересобирать ядро.

В БК, он являлся автором чата переписанного на Си. Чат был "с изъебом", чтобы не подвисать на IO, он форкался и скидывал все данные чайлду. Это приводило к систематическому отваливанию чайлда при смерти чата, и забиванию этими чайлдами всей памяти. ;-)
Плюс, был демон на перле, который поставлял данные чату, читая стораблы. Таким образом, сам чат давал минимальную нагрузку.
Я довольно много модифицировал в нем, в частности, отключил "дитя", сделал двойной логирование для определения невидимок/перевоплотов (да-да, до середины 2003г. "невидимки" были таковыми даже для админов), добавил возможность "общаться" с чатами других городов (Мысленная связь), фильтр мата. И всякого по мелочи, в основном технические правки. Отдельное "спасибо" Мелону, за то, что умудрился на 50кб кода сделать 40 разных файлов. Догадаться, где что лежит было воистину творческим занятием. :-)
Позже, в 2006(7?) чат был полностью переписан на перле Васей.
Post reply Ответить с цитированием
Дубинка Open user info
17-10-08 @ 19:48
copy link to clipboard
Начало.
Jul. 18th, 2008 at 3:54 AM
23 ноября, 2003г.
Собеседование на должность программиста на СИ.
Меня встретил Мелон (не помню ник в БК, аватара с косой и "факом). Дал какое-то простенькое тестовое задание на Си и после всех формальностей меня приняли на работу. Помню, как все гадал, неужели все вещи хранятся прямо на персонаже, "но ведь этот нонсенс, бля!". Так и оказалось :-)

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

Список получился значительным. Мелон хотел сразу с ним бежать к начальству, но мне показалось, что текст типа MPrKrUdar=80 (25) (!) - не самый показательный результат. Так и оказалось :-(
Пришлось оформить все красиво, в виде HTMLки, разбитой по персонажам, вещам, с показом конкретных отклонений. Это было наглядно и убедительно.

Вкратце, "откуда оно взялось". Мерлин (этого я не видел) решил создать мф. вещи и продавать их. Все мф. вещи имели забавное поле, из-за которого в админке они выглядели как нормальное (как только это нашли, поиск всех мф. вещей стал элементарным). Кое кто, купил эти вещи. Клонировал через медленный скрипт pawnshop. Мф.нул, чтобы получить еще более навороченные статы, клонировал навороченный вариант и начал продавать.

Клонирование. Представьте, что два скрипта работают с одной записью о персонаже, "залочивая" ее только в момент записи.
Например, скрипт "А" забирает вещь у персонажа и кладет ее в свое "хранилище". Скрипт "Б" просто одевает какую-то вещь на персонажа. "А" забрал вещь у персонажа, НО ЕЩЕ НЕ СОХРАНИЛ ЭТО, "Б" начал одевать вещь на персонажа. "А" сохранил персонажа с отсуствующей вещью, а потом "Б" сохранил персонажа со старым инвентарем, ведь "Б" не знает, что "А" уже перезаписал данные. Если такое произошло, то получаем вещь и в инвентаре, и в "хранилище".
Вероятность небольшая, но если есть скрипт делающий сотни запросов в секунду, то клонирование - вопрос времени.

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

Итак, декабрь. Битая база персонажей (никакого безопасного сохранения не было), постоянно падающие от моря мелких ошибок скрипты, половина скриптов не FCGI, благодаря экспериментам Мелона, на каждом сервере своя ОС и файловая система.

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

Хаос, ужас и аврал

Моя любимая стихия, одним словом.
Post reply Ответить с цитированием

Post reply | Post reply with quote

Total disscussion threads: 11 Pages: 1
«« « 1 » »»


 
 © 2007–2025 «combats.com»
  18+  
feedback