Предисловие:
Если вы не обладатель здравого смысла и считаете что MS word круче блокнота - то вам в топик ниже, далее речь пойдет о том же о чем и существует ГАйд по созданию локального сервера, только более доступным языком, при этом вам самим придется делать все своими руками, что повысит вашу категорию в реале с Чайника до Юзера. Если у вас ничего не получится, значит у вас руки растут не из того места, откуда растут у меня и видимо для вас лучшим вариантом будет убить себя об стену.
ТО что необходимо скачать:
Ссылки на Афину небудет до июля (IMG:
http://rusro2.org/forum/style_emoticons/default/tongue.gif)
GRF Factory - для распаковки ГРФ дата-архивов
Экзешник - т.к. экзешники могут косячить на локальном серваке.
Начальные приготовления:
РАспаковываем Афину и копируем клиент,
чтобы вы не повторяли примеры, обозначим путь к серверу за (X) - например c:/games/eAthena7504m, а путь к клиенту за (Y) - например c:/ragnarok
Это сделано для того чтобы вы не путались, и если далее увидите чтото типа (Y)/data.grf, то это значит c:/ragnarok/data.grf.
Следует, отметить что в скачаном по линку сервера уже стоят большинство таких настроек, так что не удивляйтесь тому что все будет проставлено, просто проверьте
Сервер:
Находим папку (X)/conf
В ней файлы - конфиги открываем БЛОКНОТОМ
(X)/conf/char_athena.conf - в нем изменяем
server_name : имя сервера. Например Nooby server
login_ip : ваш ip адрес, если нет такого то 127.0.0.1
bind_ip : ваш ip адрес, если нет такого то 127.0.0.1
char_ip : ваш ip адрес, если нет такого то 127.0.0.1
(X)/conf/login_athena.conf
login_ip: ваш ip адрес, если нет такого то 127.0.0.1
bind_ip: ваш ip адрес, если нет такого то 127.0.0.1
use_MD5_passwords: no //пароль не будет шифроваться
(X)/conf/map_athena.conf
char_ip: ваш ip адрес, если нет такого то 127.0.0.1
bind_ip: ваш ip адрес, если нет такого то 127.0.0.1
map_ip: ваш ip адрес, если нет такого то 127.0.0.1
(X)/conf/inter_athena.conf - тут идут параметры для SQL базы, т.к мы ставим TXT версию - то это не обязательно, но хуже не будет если вы сделаете так как написано
// MySQL Login SQL Server
login_server_ip: 127.0.0.1
login_server_port: 3306
login_server_id: root
login_server_pw:
login_server_db: ragnarok
// MySQL Character SQL server
char_server_ip: 127.0.0.1
char_server_port: 3306
char_server_id: root
char_server_pw:
char_server_db: ragnarok
// MySQL Map SQL Server
map_server_ip: 127.0.0.1
map_server_port: 3306
map_server_id: root
map_server_pw:
map_server_db: ragnarok
// MySQL Log SQL Database
log_db_ip: 127.0.0.1
log_db_port: 3306
log_db_id: root
log_db_pw:
log_db: ragnarok
// MySQL Mail SQL Server
mail_server_ip: 127.0.0.1
mail_server_port: 3306
mail_server_id: root
mail_server_pw:
mail_server_db: ragnarok
// for TXT -> SQL convertors
db_server_ip: 127.0.0.1
db_server_port: 3306
db_server_id: root
db_server_pw:
db_server_logindb: ragnarok
(X)/conf/ladmin_athena.conf
login_ip: ваш ip адрес, если нет такого то 127.0.0.1
(X)/conf/ grf-files.txt (у меня например в клиенте нету sdata, но прописать сие всеравно надо)
grf: (Y)\data.grf
grf: (Y)\sdata.grf
Настройка клиента: Клиент подойдет абсолютно любой
Ищем в папке с клиентом папку data, в которой находятся файлы clientinfo и sclientinfo, если она у вас есть то можете пропустить следующий подпункт, если же нет, то
Извлечение clientinfo:
Находим в папке с клиентом (Y)/data.grf, если клиент МОТРа то он там называется motr.grf . Запускаем GRF-Factory:
нажимаем кнопку «Open» и находим файл data.grf в папке с клиентом. И как смешно это не звучит, нажимаем Extract All(Распаковать все). Хочу предупредить, для этого вам понадобится порядка 2.5 ГБ свободного места на жестком диске. Когда распаковка закончится, зайдите в папку «data» которая находится в нашем клиенте. Найдите файл clientinfo.xml его нам нужно будет изменить.
<clientinfo>
<desc>Ragnarok Client Information</desc>
<servicetype>america</servicetype>
<servertype>primary</servertype>
<extendedslot></extendedslot>
<connection>
<display>None</display>
<desc>Russian server</desc>
<address>Здесь вы должны указать ваш IP адрес</address>
<port>6900</port>
<registrationweb>Эту строку оставьте пустой</registrationweb>
Сохраняем получившееся и теперь делаем копию этого файла (clientinfo.xml). Вставляем его в эту же папку(data) и переименовываем в sclientinfo.xml.
Удалите файл (Y)/data.grf . Теперь запускаем GRF Factory нажимаем кнопку «Add dir» и находим нашу папку «data», жмем «Repack» и сохраняем как «data.grf» После того как у вас закончится сохранение удалите папку data она нам больше не понадобится.
Теперь скопируйте в папку с ragexe.exe экзешник с линка.
На этом вы уже сможете играть локально в РО.
Установка дополнительных параметров: (ЗАпомните, те строки, начинающиеся на // не читаемы системой, они сделаны как примечания для пользователей, вспомните тотже OpenCore)
ГМ - аккаунт: Самый простой способ - создаете аккаунт, на нем новиса, выходите из игры, смотрите char-server, на нем вы увидите номер подключенного аккаунта, у меня первый акк был -2000002
затем в (X)/conf/GM_account.txt добавляете строчку:
(номер аккаунта) 99
например
2000002 99
О ГМских командах написано в другом топе, но я их повторю ниже
Теперь разрабатываем папку (X)/conf/battle, здесь хранится информация о рейтах, аккаунтах и прочей томуподобной фигне
(X)/conf/battle/battle.conf - информация о задержке, арону, пенальти на фли и тп
(X)/conf/battle/client.conf - имеет очень интересные строчки
// Visible area size (how many squares away from a player can they see)
area_size: 14
// Maximum user LV to send to client
// (Default is 99.. Never go above 127)
//
// this is only useful if you have adjusted your client
// to expect levels higher then 99
max_lv: 1000
(X)/conf/battle/drops - здесь хранятся все рейты на дроп лута/шмота и тп.
(X)/conf/battle/exp - а здесь хранятся все рейты связаные с опытом, под цифрой 100 подразумевается 100% то есть рейт x1
(X)/conf/battle/gm - здесь возможности ГМа - все скиллы, тратят ли скиллы гемы, работа абракадабры, варианты yes, no , либо уровень, с которого они работают, тут же ставится необходимый уровень для некоторых команд (Это для тех кто ненает что Хелперы не могут прописывать вещи, потому что эта команда не работает на их ГМ уровне (не уровне чара, а на уровне аккаунта))
(X)/conf/battle/guild - здесь информация, касательно штрафов на параметры в режиме Войны за империум
(X)/conf/battle/items - здесь инфа по шмоту(не дропу), макс вместимость венда, приписка производителя, вероятность ковки, варки 100 - значит обычный шанс, 200 удвоеный и тд
(X)/conf/battle/misc - здесь настройки системы дня и ночи и еще какойто малопонятной дребедени
(X)/conf/battle/monster - здесь параметры мобов (общие для всех) такие как Процент ХП от стандартного ХП, кроме того параметры - зени за мобов и отображение ХП моба
(X)/conf/battle/skill - здесь различные параметры скиллов, их очень много, например напишу
castrate_dex_scale: 150 - это строчка, показывающая кол-во необходимого ДЕкса для инстант каста
в остальных конфигах папки разберетесь сами
ну и немного о папке (X)/conf/mapflag , там находятся конфиги по картам в духе мест где включено/выключено ПВП, ГВ, сохранение варпа, винги, и тп.
________________________________________________________________________________
______________________
________________________________________________________________________________
_____________________________________________________________________________
Примечания:
Это сервер, поддерживающий Англо/корейский шрифт, полностью на английском, названия скиллов и вещей соответствуют серверу iRO, и отличаются от тех которые используются на РусРО.
Примечания по ГМским командам: (я повторюсь, это есть в аналогичном топике ниже)
@mapinfo [<0-3> [map]] - Получить информацию о локации (general info +: 0: no more, 1: players, 2: NPC, 3: shops/chat).
/hide - см. @hide
@hide - Делает вашего персонажа невидимым (GM-хайд).
@save - Установить точку возраждения (respawn point) в текущем месте
@load @return - Варпнуться к точке возраждения
/mm см. @mapmove
/mapmove см. @mapmove
@warp см. @mapmove
@rura см. @mapmove
@mapmove <имя локации> <Координата -x> <Координата -y> - Варпнуться на выбранную локацию и выбранную позицию
@jump <Координата -x> <Координата -y> - Вингнуться на выбранную позицию
/shift см. @goto
@jumpto см. @goto
@warpto см. @goto
@goto <Имя персонажа> - Варпнуть вас к выбранному персонажу
@follow <Имя персонажа> - Следовать за персонажем
@go <номер/или имя города> - Варпает вас в выбранный город.
0: Пронтера
1: Морок
2: Гефен
3: Пайон
4: Альберта
5: Излюд
6: Альдебаран
7: xmas (Лютия)
8: Комодо
9: Юно
10: Аматсу
11: Гонрюн
12: Умбала
13: Ниф
14: Луянг
15: Старт поинт
16: prison/jail (Тюрьма )
@die Суицид Twisted Evil
@alive - Воскрешает себя после смерти
@heal - Восстанавливает всё HP и всё SP
@job cм. @jobchange
@jobchange <job ID> - Меняет вашу проффесию
0: Novice 18: Alchemist 4015: Paladin
1: Swordman 19: Bard 4016: Champion
2: Mage 20: Dancer 4017: Professor
3: Archer 23: Super Novice 4018: Stalker
4: Acolyte 4001: High Novice 4019: Creator
5: Merchant 4002: High Swordman 4020: Clown
6: Thief 4003: High Mage 4021: Gypsy
7: Knight 4004: High Archer 4046: Taekwon
8: Priest 4005: High Acolyte 4047: Star Gladiator
9: Wizard 4006: High Merchant 4049: Soul Linker
10: Blacksmith 4007: High Thief
11: Hunter 4008: Lord Knight
12: Assassin 4009: High Priest
14: Crusader 4010: High Wizard
15: Monk 4011: Whitesmith
16: Sage 4012: Sniper
17: Rogue 4013: Assassin Cross
---- Baby Classes ----
4023: Baby 4024: Baby Swordman 4025: Baby Mage
4026: Baby Archer 4027: Baby Acolyte 4028: Baby Merchant
4029: Baby Thief 4030: Baby Knight 4031: Baby Priest
4032: Baby Wizard 4033: Baby Blacksmith 4034: Baby Hunter
4035: Baby Assassin 4037: Baby Crusader 4038: Baby Monk
4039: Baby Sage 4040: Baby Rogue 4041: Baby Alchemist
4042: Baby Bard 4043: Baby Dancer 4045: Super Baby
@lvup/@blevel/@baselvlup <номер на сколько увеличивать> - Увеличивает ваш базовый уровень. Максимальный уровень 1000.
(Чтобы уменьшить уровень можно использовать минус например @lvup -10 )
@joblvup/@jlevel/@joblvlup <number of levels> -Увеличивает ваш проф. уровень. Максимальный уровень 255.
(Чтобы уменьшить уровень можно использовать минус например @jlevel -10 )
@allskill/@allskills/@skillall/@skillsall - Даёт вам все скилы.
@mountpeco - Взять/убрать пеко (Требуется соответсвтующая профа)
@model <ID причи: 0-17> <Цвет причи: 0-8> <Цвет одежды: 0-4> - Меняет внешность (прическу, цвет волос, цвет одежды )
@dye/@ccolor <Цвет одежды: 0-4> - Меняет внешность (Только цвет одежды )
@hairstyle/@hstyle <ID причи: 0-17> - Меняет внешность (Только прическу )
@haircolor/@hcolor <Цвет причи: 0-8> - Меняет внешность (Только цвет волос)
@speed <1-1000> - Изменяет скорость вашего передвижения. 1 - максимально быстрая, 1000 - самая медленная. По умолчанию - 150.
@dropall - Выбрасывает всё ваше имущество на землю
@storeall - Кладёт всё ваше имущество в кафру
@killable - Делает вашего персонажа убиваемым :-\
@stpoint <кол-во> - Получить определенное кол-во стат поинтов.
@skpoint <кол-во> - Получить определенное кол-во скил поинтов.
@zeny <кол-во> - Получить определенное кол-во Зеней.
@str,@agi,@vit,@int,@dex,@luk <кол-во> - Добавляет определенное кол-во выбранных статов. Для примера "@str 10" увеличивает силу на 10
@statall/@statsall/@allstats/@allstat [кол-во] - Добавляет определенное кол-во всех статов (если не ввести кол-во, то все статы по 500).
@memo [позиция записи] - Устанавливает точку для варпа (без позиции: отображает все точки).
@spiritball <номер: 1-1000> - Дает Вам "spirit spheres" как от навыка "Call Spirits"
@questskill <#> - Дает Вам указанный навык скила
@lostskill <#> - Убирает указанный навык скила
@skillid <name> - ищите навык скила по имени
@useskill <skillid> <skillv> <target> - использует навык на цель
Novice Swordsman Thief Merchant
142 = Emergency Care 144 = Moving HP Recovery 149 = Throw Sand 153 = Cart Revolution
143 = Act dead 145 = Attack Weak Point 150 = Back Sliding 154 = Change Cart
Archer 146 = Auto Berserk 151 = Take Stone 155 = Crazy Uproar/Loud Voice
147 = Arrow Creation Acolyte 152 = Stone Throw Magician
148 = Charge Arrows 156 = Holy Light
157 = Energy Coat
@marry <player1>,<player2> - Поженить двух игроков
@divorce <player> - Развести двух игроков (Достаточно ввести одного из супругов)
@addwarp <имя карты> <x-координата> <y-координата>
--- Команды монстров ---
@spawn/@monster/@summon <Имя монстра или ID монстра> <кол-во>
@killmonster [локация] - Убить всех монстров на локации (с дропом)
@killmonster2 - Убить всех монстров на этой локе (без дропа)
--- ITEMS команды ---
@storage - Открыть кафру
@gstorage - Открыть Гильд кафру
@item <Имя вещи или ID> <кол-во> - Получить выбранную вещь.
@refine <Позиция эквипа> <+/- кол-во> Заточить вещь например (@refine 0 10)
@produce <equip name or equip ID> <element> <# of very's> -произвести
Элемент: 0=None 1=Ice 2=Earth 3=Fire 4=Wind
@repairall - Чинит всё что у вас в инвентаре
--- PVP Команды ---
@pvpon - Включает ПВП режим на этой локации
@pvpoff - Выключает ПВП режим на этой локации
@gvgon/@gpvpon - Включает GVG режим на этой локации
@gvgoff/@gpvpoff - Выключает GVG режим на этой локации
@agitstart - Стартует War of Emperium
@agitend - Закончить War of Emperium
1:--- Групповые комманды ---
@guild <Имя гильдии> - Создаёт гильдию.
@guildlvup/@guildlvlup <Номер уровня> - Повышает уровень гильдии
@guildrecall <guild_name/id> - Варпает всех персонажей (которые в онлайне) гильдии к вам
@partyrecall <party_name/id> - Варпает всех персонажей (которые в онлайне) пати к вам
--- Команды петов ---
@hatch - Создайте пета из вашего списка яиц инвентаря.
@makeegg <pet_id> - Даёт яйцо пета (см. pet DB)
@petfriendly <#> - Установить дружественность пета в кол-во (0-1000) 1000 = Максимум
@pethungry <#> - Установить голод пета в кол-во (0-100) 100 = Максимум
@petrename - Переименовать пета
@raise - Возраждает всех персонжей на сервере после смерти
@raisemap - Возраждает всех персонжей на карте после смерти
@night - Ночное время суток
@day - Дневное время суток
@skillon - Отключить скилы на локации
@skilloff - Включить скилы на локации
--- Команды персонажа ---
#stats <Имя персонажа> - Показать статы персонжа
#option <param1> <param2> <param3> <charname> - Использовать также как @option команду, но только на другом персонаже.
#mountpeco <Имя персонажа> - Смотри @mountpeco.
#baselvl <#> <Имя персонажа> - Меняет персонажу базовый уровень.
#jlvl <#> <Имя персонажа> - Меняет персонажу проф. уровень.
#job/#jobchange <job ID> <char name> - Изменяент выбранному персонажу профу.
#zeny <кол-во> <Имя персонажа> - Дать зеней персонажу
#stpoint <кол-в> <Имя персонажа> - Дать персонажу стат поинтов
#skpoint <кол-в> <Имя персонажа> - Дать персонажу скил поинтов
#skreset <Имя персонажа> - Сбросить скилы персонажу.
#streset <Имя персонажа> - Сбросить статы персонажу.
#reset <Имя персонажа> -Сбросить скилы и статы персонажу.
#changesex <Имя персонажа> - Поменять пол персонажу (Меняется всем персонажам на аккаунте)
#warp/#rura+ <Имя локации> <x-координата> <y-координата> <Имя персонажа> - Варпает персонажа на выбранную локацию
________________________________________________________________________________
____________________________________
в графе имя персонажа можно писать свой ник,
при использовании команды @warp, нужно указать названия аналогичные полученым командой /where
например @warp mag_dun02 207 167
ПРи создании вещей не нужно изобретать велосипед, вы не сможете сделать вещи которые не существуют,
Например @item Rod - палка с 3 слотами у НПЦ, @item Rod_ - палка 4 слота
@item Coat - шуба у НПц, @item Coat_ - слотовая, но например неслотовой норковой шубы не существует и вы неполучите ничего при введении @item Mink_coat_, только при @item mink_coat.
Создавать вещи удобнее по названию, а спавнить мобов по ID, его удобно смотреть по базе
RO Empire@refine 0 10 - чтобы заточить все одетые на вас вещи на +10, точится абсолютно все
________________________________________________________________________________
____________________________________
Теперь то с чем у меня возникли глюки: Скиллы ниндзь не пашут, передвижение мобов глючило изза кривого ExE.
Ну собственно на этом я закончил, НА ВОПРОСЫ ОТВЕЧАТЬ НЕ БУДУ, для этого есть хелперы, так что тему можно закрыть, с целью предотвращения зафлужевания