Здравствуйте, гость ( Вход | Регистрация )

2 страниц V  1 2 >  
Ответить в эту темуОткрыть новую тему
> Начинающим В Runuo, Добыча исходников, компиляция
Soteric
сообщение 27.7.2007, 12:10
Сообщение #1


********

Master
Сообщений: 1.377
Регистрация: 7.8.2006
Группа: Пользователи
Наличность: 3271
Пользователь №: 7.166



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

1) Среда разработки (IDE). Итак, в первую очередь нам понадобится софт, который будет понимать C# и сможет компилировать наш код. Помимо громоздкой, да еще и не бесплатной Visual Studio, есть несколько альтернативных, компактных вариантов, которые вполне вас устроят:Среда разработки, которая понимает синтаксис языка и сразу укажет вам на пропущенную запятую или не закрытую скобку, которая может осуществлять поиск нужного вам слова сразу в нескольких файлах, в которой можно нажатием двух кнопок перейти на заданную строку, просто необходима. Существует категория еретиков или просто ленивых людей, которые с кайфом мазахистов пишут код в блокноте, а потом вручную отсчитывают какую-нибудь 1649 строчку сверху когда компилятор сообщает о наличии в ней ошибки. С такими людьми нам не по пути и если вы стремитесь к качественному и быстрому освоению эмулятора, то лучше потратьте сколько-нибудь времени/трафика на приобретение нормальной IDE.

2) Исходные коды эмулятора. После того как вы решили вопрос чем править эмулятор, не мешало бы эти самые коды раздобыть. Все те же еретики из пункта один мечутся по друзьям, форумам, скачивают какие-то готовые решения или просят их им намылить, ибо вот конкретно в данный момент мыши перегрызли стратегический кабель, соединяющий провайдера с RunUO.com. Существует простой софт, позволяющий всегда иметь последнюю версию исходников ядра и надстройки над ним, обновлять их, просматривать ChangeLog, при желании построчно отлавливать все изменения проделанные разработчиками и все это в два мышиных клика. Этот софт - TortoiseSVN, с помощью которого осуществляется доступ к репозиторию (хранилищу) разработчиков.
  • 2.1) Скачайте и установите последнюю версию программы. После установки она автоматически интегрируется в ваш Explorer и кликнув правой кнопкой мыши в любой из папок вы увидите появившиеся функции TortoiseSVN.
  • 2.2) Создайте папку, в которой будут храниться исходные коды эмулятора.
  • 2.3) Кликните по ней правой кнопкой, в появившемся меню выберите "SVN Checkout...".
  • 2.4) В открывшемся окне заполните поля:

    URL of repository: <a href="http://runuo.googlecode.com/svn/devel" target="_blank">http://runuo.googlecode.com/svn/devel</a>
    Checkout directory: путь к созданной вами папке
    Revision: HEAD revision

  • 2.5) Жмите ОК. TortoiseSVN подключится к репозиторию, скачает исходники эмулятора и пометит папку как хранилище (зеленая стрелка в левом нижнем углу). Теперь для обновления достаточно кликнуть правой кнопкой на папке и выбрать "SVN Update"; просмотреть историю изменений (ChangeLog) можно кликнув правой кнопкой и выбрав TortoiseSVN --> Show log. Поздравляю, вы стали счастливым обладателем эмулятора RunUO (IMG:style_emoticons/default/smile.gif)
3) Что же мы имеем? Полученные нами файлы теперь необходимо экспортировать в папку, в которой мы сможем заняться уже непосредственно правкой кода. Для этого воспользуйтесь функцией TortoiseSVN --> Export. Итак, мы имеем три папки: Data (служебная информация вроде координат регионов, ID вещей, расположение сокровищ и так далее), Server (ядро - набор .cs файлов, представляющих основу сервера: базовые классы, описывающие общие характеристики для всех монстров и предметов, сетевые настройки и обработка пакетов и так далее) и Scripts (классы-потомки, позволяющие изменять конкретный тип монстров, предметов и так далее; в основном здесь нам и придется творить). Для создания рабочего сервера нам необходимо скомпилировать ядро и запустить его.

4) Компиляция ядра. Для компиляции нам понадобится наша среда разработки. Я опишу как это делается в Visual Studio 2005, в остальных средах последовательность либо аналогичная, либо с незначительными нюансами. Итак:
  • 4.1) Создаем новый проект через File --> New --> Project... --> Visual C# --> Console Application.
  • 4.2) В открывшемся Solution Explorer, показывающим что входит в наш проект, удаляем из проекта файлы AssemblyInfo.cs и Program.cs, если таковые были созданы.
  • 4.3) В Windows открываем папку, в которую мы экспортировали наши файлы, и перетаскиваем папку Server на название проекта в Solution Explorer. Наши файлы будут добавлены в проект. ПРИМЕЧАНИЕ: В SharpDevelop с этим возникают некоторые проблемы. При перетаскивании в проекте создаются пустые папки, поэтому приходится после этого открывать каждую и перетаскивать в нее сами файлы.
  • 4.4) Открываем меню Project (рядом с File, Edit, View) и выбираем в самом низу функцию "НазваниеПроекта Properties"SharpDevelop это будет Project Options...).
  • 4.5) На вкладке Application устанавливаем Startup object: Server.Core.
  • 4.6) На следующей вкладке BuildSharpDevelop это Compiling) ставим галочку напротив Allow unsafe codeSharpDevelop еще убираем галочку с пункта Check for arithmetic overflow/underflow).
  • 4.7) Там же в Output path выбираем куда будет доставлен наш скомпилированный .exe файл.
  • 4.8) Открываем меню Build (рядом с Project) и нажимаем Build Solution.
  • 4.9) Если все было сделано верно, то мы получим откомпилированное ядро, которое положим рядом с папкой Scripts.
5) Настройка сервера. Теперь необходимо сконфигурировать сервер.
  • 5.1) В первую очередь позаботимся о файлах клиента (карты, статика к ней и т.д), которые будет использовать сервер. Можно использовать те же файлы, что и вашего рабочего клиента. Если клиент прошел регистрацию в реестре, то сервер сам найдет эти файлы при запуске и даже не спросит о них. Однако по правилам хорошего тона и во избежание дальнейших проблем (например при работе со статикой на карте) нам лучше сделать копию необходимых файлов и поместить их где-нибудь, например рядом с папкой Scripts в папке Client. Перечень необходимых файлов вы можете найти в файле Scripts\Misc\DataPath.cs, там же вы найдете строку
    private static string CustomPath = null;
    Замените ее на
    private static string CustomPath = @"Путь\к_вашей\папке\Client";
  • 5.2) Для успешного запуска вам также потребуются две библиотеки: zlib32.dll и zlib64.dll.
  • 5.3) Теперь запускаем наш .exe файл. Запущенный сервер самостоятельно откомпилирует папку Scripts (процесс не быстрый, придется подождать) и если все сделано верно, то сообщит о готовности к работе, выдав список IP адресов вашего компьютера.
Теперь вы полный хозяин сервера. У вас есть быстрый доступ к файлам ядра (делаете исправление в нужных файлах папки Server и пересобираете .exe), есть среда разработки для удобного написания кода и есть утилита, позволяющая проверять сайт разработчиков на наличие обновлений, скачивать их, смотреть изменения. Также полезен будет дополнительный софт для получения некоторой информации из клиента: я использую MulEditor и InsideUO. Они позволяют просмотреть имеющиеся в вашем распоряжении предметы, получить ID понадобившегося предмета или анимации. Вот в общем и все (IMG:style_emoticons/default/smile.gif)
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
evilmanson
сообщение 2.1.2008, 22:05
Сообщение #2


*

Registred
Сообщений: 2
Регистрация: 2.1.2008
Группа: Пользователи
Наличность: 0
Пользователь №: 10.416



Отличный гайд, молодец
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
*777*
сообщение 12.1.2008, 17:18
Сообщение #3


****

Группа: Пользователи
Наличность: 0
Из: Парагвай
Пользователь №: 3.803
Возраст: 19



Зачет


--------------------
INFINITETRAVEL.RU 100%-OSI style ,complete support of KR client,complete realization of all addons
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
nOrDiK
сообщение 6.7.2008, 22:41
Сообщение #4


****

Apprentice
Сообщений: 197
Регистрация: 28.2.2007
Группа: Пользователи
Наличность: 0
Из: Латвия
Пользователь №: 9.507



Огромное спасибо ! (IMG:style_emoticons/default/smile.gif)
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Deceived In Acid
сообщение 16.7.2008, 18:01
Сообщение #5


**

Группа: Пользователи
Наличность: 0
Пользователь №: 10.921
Возраст: 15



Я бы описал чуток изменение основных рекламных изменений, НО притензий нет нубам будет очень полезно. Молодец бесспорно! (IMG:style_emoticons/default/blink.gif)


--------------------
Сервер нового поколения: http://newuo.com/
Мы созданы творить новое!
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
slimstar
сообщение 7.1.2009, 15:23
Сообщение #6


*

Registred
Сообщений: 5
Регистрация: 24.5.2008
Группа: Пользователи
Наличность: 0
Пользователь №: 10.777



здравствуйте, в ранУО можно отключить проверку "Encrypted client detected"



и кстати пропатченный полностью клиент нельзя сделать No_Crypt , ошибку пишет.. почему так?
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Warstone
сообщение 8.1.2009, 0:28
Сообщение #7


*********

Группа: Модераторы
Наличность: 0
Пользователь №: 10.905
Возраст: 25



1) Да, используй WyattUO. Он понимает шифрование.
2) Ибо шифрование с клиентов серии 6.0.Х поменялось и UO_Rice.exe не пашет.


--------------------
Do. Or do not. There is no Try!
© Master Joda, Dagobah, Star Wars: Episode V.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Juzzver
сообщение 26.3.2011, 11:47
Сообщение #8


**********

Модератор RunUO
Сообщений: 3.425
Регистрация: 1.11.2008
Группа: Супермодераторы
Наличность: 22568
Из: Северная Корея
Пользователь №: 11.273



Превосходный гайд!
Спасибо!
Прикреплено


--------------------
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
StaticZ
сообщение 6.4.2011, 1:54
Сообщение #9


*********

Разработчик проекта "Квинтэссенция"
Сообщений: 2.155
Регистрация: 15.6.2009
Группа: Пользователи
Наличность: 0
Из: РФ, Москва
Пользователь №: 11.948



Цитата(Juzzver @ 26.3.2011, 12:47) *

Превосходный гайд!
Спасибо!
Прикреплено
4 года потребовалось чтобы описанные данные были проверены, а работа получила признание... Как ни странно за это время мало что изменилось разве что немного повзрослела МЫ

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


--------------------
RP сервер UO: Quintessence, а также ПО: EssenceUCS, EssenceUDK, CentrEd+, Fiddler+ и др.
Game isn't a dream, it is the reality, reality which is coming while we dream...
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Juzzver
сообщение 6.4.2011, 11:44
Сообщение #10


**********

Модератор RunUO
Сообщений: 3.425
Регистрация: 1.11.2008
Группа: Супермодераторы
Наличность: 22568
Из: Северная Корея
Пользователь №: 11.273



Когда я читал статью впервые и писал(копи-пастом) скрипты в блокнотике, данная тема для меня была нечто иное как "Много букв".


--------------------
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Dozza
сообщение 18.9.2012, 0:04
Сообщение #11


****

Группа: Пользователи
Наличность: 0
Из: Одесса
Пользователь №: 15.272



Гайд супер за 2 мин поставил свой сервак!
Спасибо!!!!
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
PredatorX2
сообщение 5.11.2012, 12:18
Сообщение #12


**

Neophyte
Сообщений: 30
Регистрация: 1.9.2012
Группа: Пользователи
Наличность: 0
Пользователь №: 15.247
Возраст: 25



Доброго времени , при обновлении SVN с рануо , стало просить авторизации , рануошный акк не подходит , кто знает где , может , отдельно регится надо или мэйби , у меня настройки слетели .... ?
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Soteric
сообщение 5.11.2012, 19:33
Сообщение #13


********

Master
Сообщений: 1.377
Регистрация: 7.8.2006
Группа: Пользователи
Наличность: 3271
Пользователь №: 7.166



У RunUO проблемы с репозиторием.
http://runuo.com/community/threads/runuo-d...n-issue.525365/
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Soteric
сообщение 14.3.2013, 10:17
Сообщение #14


********

Master
Сообщений: 1.377
Регистрация: 7.8.2006
Группа: Пользователи
Наличность: 3271
Пользователь №: 7.166



Репозиторий RunUO переехал на гуглокод. Новый адрес для SVN: http://runuo.googlecode.com/svn/devel
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Stealch
сообщение 20.9.2013, 23:41
Сообщение #15


**

Группа: Пользователи
Наличность: 0
Из: Одинцово
Пользователь №: 16.329
Возраст: 33



Цитата(Soteric @ 27.7.2007, 13:10) *

Этот софт - TortoiseSVN, с помощью которого осуществляется доступ к репозиторию (хранилищу) разработчиков.[list]



Правильная ссылка TortoiseSVN,


--------------------
ИзображениеИзображение
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Soteric
сообщение 20.9.2013, 23:45
Сообщение #16


********

Master
Сообщений: 1.377
Регистрация: 7.8.2006
Группа: Пользователи
Наличность: 3271
Пользователь №: 7.166



Спасибо, исправил.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Edgar
сообщение 28.11.2013, 2:02
Сообщение #17


**

Группа: Пользователи
Наличность: 0
Пользователь №: 16.450



Soteric + , спасибо, гайд очень помог.
Пункт 4.3 в SharpDevelop решается проще так:
1 Вызов контекстного меню названия проекта в окне Project;
2 Add -> Existing Folder (выбрать папку с исходниками)
(IMG:http://s2.ipicture.ru/uploads/20131128/6HxR8cO7.gif)


--------------------
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Nicko
сообщение 9.5.2014, 2:45
Сообщение #18


*

Группа: Пользователи
Наличность: 0
Пользователь №: 16.823
Возраст: 25



У меня выдает такие два сообщения когда хочу скомпилировать:

1.There was a mismatch between the processor architecture of the project being built "MSIL" and the processor architecture of the reference "C:\Windows\Microsoft.NET\Framework\v4.0.30319\mscorlib.dll", "x86". This mismatch may cause runtime failures. Please consider changing the targeted processor architecture of your project through the Configuration Manager so as to align the processor architectures between your project and references, or take a dependency on references with a processor architecture that matches the targeted processor architecture of your project. (MSB3270)

2.Cannot specify /main if building a module or library (CS2017)

Не могу понять что это значит.
Сейчас уже есть сразу компилятор когда берешь с репозитория, но хочется самом собрать его с помощью SharpDevelop
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Soteric
сообщение 10.5.2014, 0:59
Сообщение #19


********

Master
Сообщений: 1.377
Регистрация: 7.8.2006
Группа: Пользователи
Наличность: 3271
Пользователь №: 7.166



1) http://stackoverflow.com/questions/1011353...or-architecture

2) Project -> Project Options -> Application -> Output type должен быть выставлен как Console Application.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
StaticZ
сообщение 12.7.2014, 13:25
Сообщение #20


*********

Разработчик проекта "Квинтэссенция"
Сообщений: 2.155
Регистрация: 15.6.2009
Группа: Пользователи
Наличность: 0
Из: РФ, Москва
Пользователь №: 11.948



Цитата(Nicko @ 9.5.2014, 3:45) *
Сейчас уже есть сразу компилятор когда берешь с репозитория, но хочется самом собрать его с помощью SharpDevelop
Лучше всего Miscrosoft Visual C# Pro (можно лицензию достать совершенно бесплатно) + Resharper + Visual SVN


--------------------
RP сервер UO: Quintessence, а также ПО: EssenceUCS, EssenceUDK, CentrEd+, Fiddler+ и др.
Game isn't a dream, it is the reality, reality which is coming while we dream...
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

2 страниц V  1 2 >
Ответить в эту темуОткрыть новую тему
3 чел. читают эту тему (гостей: 3, скрытых пользователей: 0)
Пользователей: 0

 

- Текстовая версия | Версия для КПК Сейчас: 19.3.2024, 8:52
Designed by Nickostyle