О нас
Советы
Новичку
Обо всем
Дружины

Галерея
Файлы
Форум
Билдеру
Ссылки
Добро пожаловать в мир русских сказок и легенд.

Программистам, которые хотят что-то сделать для этой игры:

Если кратко для тех, кто в теме, то текущая версия кода лежит тут:
CVSROOT=:pserver:coder@mud.ru:/mud, репозитарий mud, пароль coder
Патчи на данный момент можно слать мне - bylins[@]gmail.com
Если от локалки требуется стабильная работа, то собирать лучше на gcc 3.x и выше.

Версия для сборки под msvs 2003-2008:

  1. Качаем http://www.mud.ru/files/local_mud.zip, распаковываем.
  2. В студии идем в Tools->Options->Projects->VC++ Directories->Include files и добавляем туда путь до ...\local_mud\.
  3. Создаем чистый проект, идем в Project->Add existing Item и добавляем все файлы из ...\local_mud\src\.
  4. В Project->Properties->General выставляем Output Directory в ...\local_mud\bin.
  5. После чего жмем Build->Build Solution и все должно собраться. Идем в local_mud\bin запускаем и радуемся жизни.
  6. Для обновления кода качаем TortoiseCVS (описание и ссылка в конце), после чего просто тыкаем в проводнике на папочку local_mud/src правой кнопкой, жмем на обновление и вписываем пароль coder.
Кому надо минимально необходимые файлы из boost'а отдельно - качаем http://www.mud.ru/files/boost.zip. В случае с msvs надо указывать путь до каталога, в который вы распаковали этот архив. Т.е. чтобы после него еще было /boost/... Под cygwin просто закидываете этот каталог в usr/include. Весь boost можно выкачать с его официального сайта http://boost.org, архивом с сайта или через cvs. После скачивания вас интересует каталог boost/boost. Собирать его не обязательно, былинам хватает просто хедеров.

Вариант под cygwin более мутный, зато приближенный к реалиям на сервере.
  1. Идем на www.cygwin.com качаем и запускаем http://www.cygwin.com/setup.exe Добираемся до списка доступных пакетов, идем в категорию Devel и там отмечаем:
    boost-devel
    cvs
    gcc
    make
    + все, что там было отмечено по умолчанию и отметилось при выборе этих пакетов, качаем, ставим.
  2. После установки идем в cygwin\usr\include\boost-1_33_1\boost\ (или какая будет текущая версия). Вот все, что там лежит, переносим в cygwin\usr\include\boost\ (т.е. \boost-1_33_1\ в пути тут лишнее)
  3. Запускаем cygwin, далее в командной строке пишем дословно:
    export CVSROOT=:pserver:coder@mud.ru:/mud
    если вы сидите через прокси-сервер, то строка будет выглядеть так:
    export CVSROOT=":pserver;proxy=адрес-прокси;proxyport=порт:coder@mud.ru:/mud"
    далее cvs login
    пишем пароль: coder
    (ввод пароля не показывается, пишем вслепую и жмем enter)
    cvs -z9 checkout mud
    После чего у вас должна создаться директория mud в которой будет последний код (mud\src). Для обновления кода в будущем всего этого повторять не надо, достаточно будет запустить cygwin, зайти в эту директорию mud (cd mud) и набрать cvs update. Физически все это будет лежать в ..\cygwin\home\ваше-имя\mud\
  4. После того, как все скачалось идем на www.mud.ru в раздел файлы и качаем движок былин (в данный момент http://www.mud.ru/files/bruseng20.exe).
    Создаем директорию например local, в ней содаем bin и src. Распаковываем движок былин в local/bin/. Копируем в local/src сорцы из /mud/src, которые скачались через cvs. Т.е. локалка будет иметь вид:
    local
      |-/src
      |-/bin
        |-/lib
        |-/log
    Находясь в cygwin'е заходим в src (что-то вроде "cd local/src"), пишем make test и радуемся, если все собирается без приключений. После этого заходим в bin и запускаем circle.exe - это оно и есть, 4000 порт ждет вас. Сама оболочка cygwin для запуска приложений не нужна, пропишите у себя в autoexec.bat что-то вроде "path=c:\cygwin\bin" или где там у вас этот самый bin расположился и можете обновлять/собирать и запускать мад из оболочек вроде Far или любой другой командной строки винды.
Знач мысли о славе и как быть на данный момент такие:
  1. Если вы за свои труды сильно хотите славы, то предварительно нужно с кем-то из 34х о ней договориться. В принципе выдать славу за код может любой 34й бог, но чтобы поменьше стучаться в закрытые двери, рекомендую ломиться к свентовиту или переплуту. С заданиями (если вы не знаете чем заняться) на данный момент таже история, т.е. какого-то единого и обновляемого баг-трекинга нет, т.к. вести его всем лень.
  2. Если вы хотите что-то переделать/сделать в плане чисто технической части мада, т.е. переписать какой-то явно идиотский кусок кода или поправить явно неправильный код, т.е. ваш патч не меняет функционал игры (рефакторинг) или просто фиксит явный баг - можете ваять и засылать без всяких предварительных согласований с кем-либо, такие патчи накатываются без проблем.
  3. Если вы хотите переделать/сделать что-то в плане игровой части, то перед этим будет разумно поинтересоваться у власть имущих, а нужно ли оно и пойдет ли оно в код, если вы это сделаете.
  4. На данный момент патчи можно слать на bylins[@]gmail.com, к этому неплохо бы сразу писать icq или что-нить подобное для связи, потому что переписываться email'ом, если мне что-то надо будет уточнить по вашему коду - влом. Плюс если уж мы начнем общаться - то я всегда готов обсудить какие-то мутные места в коде или подумать над проблемой, если она того стоит (а не потому, что вам просто влом разбираться или вы не знаете с++).
  5. Если вы правите код на более-менее регулярной основе и я вижу, что вы шарите, то без проблем дам вам права на запись в cvs, тут собственно нет ничего такого, я не жадный и всеравно на живой мад код попадет только после его ручного накатывания на сервере из cvs'а, поэтому в случае, если у вас есть права на запись - вы заливаете свои изменения, описываете их в changelog'е и пинаете меня, чтобы я глянул и залил на рабочий мад.
  6. Задания и славу за код я не выдаю, эти вопросы решайте с богами, я только могу просмотреть/накатить на рабочий мад ваш код и решить все связанные с этим процессом вопросы.
Про код, сами патчи и вообще:
  1. Вобщем принятое здесь оформление кода можно и так посмотреть, свой код надо оформлять так же в плане отступов, табуляции, расположения скобок и т.п. вещей.
  2. Комментарии ДОЛЖНЫ БЫТЬ. Как минимум на каждую функцию и поле в структурах/классах, объясняющие их смысл. В случае наличия у функций нетривиальных входных параметров или возвращаемого значения это все тоже надо описывать. Любой мутный код вроде формул - аналогично. Вобщем тут лучше перебдеть, чем недобдеть, кодеры тут сильно разной квалификации + вникают в код все на разном уровне и большая часть проблем идет от того, что всем влом разбираться в чужом коде, поэтому если вам есть что сказать к своему коду - скажите, сэкономьте время и нервы другим, а может и себе самому в последствии. И комментируйте на русском пожалуйста.
  3. Помимо комментариев в коде к патчу нужно кратенькое описание сделанного вообще + если вам есть, что сказать остальным кодерам по этому патчу, для экономии времени на вникание в суть кода и чтобы быть в курсе, что там вообще в коде делается. Писать это дело следует в файл changelog'а и включать это в итоговый патч.
  4. Сам патч делается или командой diff, или вы пользуетесь средствами cvs. Перед тем, как делать патч - вы обязательно обновляете код из cvs'a и устраняете все конфликты, выковыривать ваши изменения из патча для кода полу годовой давности никто не будет. В случае diff:
    diff -u файл1 файл2 >файл-патча.patch
    аналогично можно сравнить директории целиком
    diff -u директория1 директория2 >файл-патча.patch
  5. Более удобный способ работы со всей этой темой - поставить себе что-то вроде TortoiseCVS. Идем на http://www.tortoisecvs.org/download.shtml и качаем клиента. Программа виндовая, все там интуитивно легко и ясно, настроек минимум. Может работать с тем, что вы создали при помощи cvs'а из cygwin'а, поэтому поставить в любому случае будет не лишним. Работает через просмотр каталогов в винде, добавляет свои иконки к файлам + свою менюшку по правой кнопке, в которой помимо всего прочего есть и пункт создания патча. Т.е. меняете код, тыкаете создать патч, она лезет на сервер, сравнивает ваш и наш код и выдает вам готовый патч со всеми изменениями, который вы и засылаете.
    Update: Было выяснено, что он траф не жмет почему-то при работе с нашим cvs. Так что если кол-во трафика для вас актуально - пользуйтесь cvs'ом из cygwin (или расскажите как это поправить, если в курсе).
  6. Чем редактировать: с редактированием кода в обычных виндовых ide вроде студии есть некоторые проблемы, т.к. кодировка в коде koi8r, а перекодировка есть далеко не везде. Варианты тут в принципе есть, и ручками перекодировать, и шрифты с koi8 подсунуть винде, но грамотнее всего найти и освоить редактор, который уже понимает разные кодировки, можно писать в Far'е или других редакторах с подсветкой синтаксиса, в принципе многим этого хватает для счастья. Лично я рекомендую open-source редактор под разные платформы CodeBlocks. Взять можно тут http://codeblocks.org, помимо релиза у них на форуме в разделе еженощных билдов можно скачать самый последний билд, какой там будет. Билды вполне стабильные, сильно париться из-за этого не стоит. Ну и потом время от времени туда наведываться за новыми версиями, обновляется по мелочи довольно регулярно.

    Кродо

[an error occurred while processing this directive]
Дизайн - Богдан Дощак
Авторы проекта - Игорь Попов, Андрей Сердюков, Дмитрий Лица
Поддержка сайта - rt_ek@inbox.ru.
Если вас что либо интересует - пишите сюда.
Благодарим компанию Демос за помощь в данном проекте.


| 1999-2009 © Андрей Сердюков |