|
|
|
Транспорт недвижимость, Не могу зайти |
|
|
Jul |
24.2.2018, 1:14
|
Группа: Пользователи Наличность: 0
Пользователь №: 18.824
Возраст: 30
|
Разбирался честно, искал решение - не нашел. с прошлой темы где дали ссылки на уо, установил 3 разных клиента, в датапатче поочередно менял директорию - 0 эфекта, как проваливался так и проваливаюсь. поиском заюзал : https://forum.uokit.com/index.php?showtopic...hl=%EC%F3%EB%FBи прочее.. ничего не помогло... что делать? И вот сейчас подумал, и как понять вопрос совпадет ли мул сервера и клиента? это типо указан ли путь?
|
|
|
|
StaticZ |
24.2.2018, 1:44
|
Разработчик проекта "Квинтэссенция"
Сообщений: 2.155
Регистрация: 15.6.2009 Группа: Пользователи Наличность: 0 Из: РФ, Москва
Пользователь №: 11.948
|
Цитата(Jul @ 24.2.2018, 1:14) И вот сейчас подумал, и как понять вопрос совпадет ли мул сервера и клиента? это типо указан ли путь?
что есмь такое "мул сервер" без понятия. Есть клиент, есть сервер, которому для нормальной работы требуются некоторые файлы клиента - прежде всего тайлдата, мультисы, карты, статика. Насколько я помню, оригинальный сервер ищет путь к клиенту в реестре и берет файлы оттуда - хороший пример того как желание сделать ПО более дружелюбным к пользователю приводит к диаметрально противоположному эффекту ибо в результате многие перестают понимать откуда сервер вообще берет файлы, тем паче у большинства куда более одного клиента установлено. Поэтому лучше убрать эту муть из код и прописать ручками путь к какой ни будь папке Data в директории сервера. Цитата(Jul @ 24.2.2018, 1:14) ничего не помогло... что делать? Где-то, что-то менял, ничего не вышло, в чем проблема? Телепатов, к сожалению тут нет, если ставите ребром такой вопрос, то пишите последовательно - где что да как... В целом пути к файлам возвращает метод: public static string Server.Core.FindDataFile( string path ) можно там поставить брекпоинт и посмотреть что он выдает и сравнить с тем что вы хотели бы видеть.. С другой стороны он просто ищет первый существующий файл в m_DataDirectories, что инициализировались в DataPath и можно аналогично проверить какие там директории оказываются после запуска сервера.
--------------------
RP сервер UO: Quintessence, а также ПО: EssenceUCS, EssenceUDK, CentrEd+, Fiddler+ и др.Game isn't a dream, it is the reality, reality which is coming while we dream...
|
|
|
|
Jul |
24.2.2018, 14:51
|
Группа: Пользователи Наличность: 0
Пользователь №: 18.824
Возраст: 30
|
По порядку напишу. Снес все. Зашел: https://code.google.com/archive/p/runuo/downloadsСкачал только: RunUO2.3r987_Full.rar (может еще что-то надо было)Распаковал и закинул все файлы в директорию: D:\uo\RunUOЧитал, что у многих есть папка сервер, у меня ее нет, т.к. в том архиве ее нет, я не знаю нужна она или нет.Зашел скачать игру сюда: https://code.google.com/archive/p/download-...ownloads?page=2Скачал 7 архивов: Ultima Online 6.0.14.3 Patch95Распаковал в директории: D:\uo\uo1Установил RazorЗашел в RunUO пошел к файлу: D:\uo\RunUO\Scripts\Misc= DataPathТам прописал путь к игре: Код namespace Server.Misc { public class DataPath { /* If you have not installed Ultima Online, * or wish the server to use a separate set of datafiles, * change the 'CustomPath' value. * Example: * private static string CustomPath = @"C:\Program Files\Ultima Online"; */ private static string CustomPath = @"D:\uo\uo1"; Запускаю RunUO.exeСервер успешно запущен Захожу, ставлю дом - проваливаюсь. До того как все снес, пробовал все что писали по ссылкам выше. После того как я все удалил и поставил заново, запуская эту сборку игры, карта была другой.
|
|
|
|
StaticZ |
24.2.2018, 17:35
|
Разработчик проекта "Квинтэссенция"
Сообщений: 2.155
Регистрация: 15.6.2009 Группа: Пользователи Наличность: 0 Из: РФ, Москва
Пользователь №: 11.948
|
Цитата(Jul @ 24.2.2018, 14:51) По порядку напишу. Снес все. Зашел: https://code.google.com/archive/p/runuo/downloadsСкачал только: RunUO2.3r987_Full.rar (может еще что-то надо было)Распаковал и закинул все файлы в директорию: D:\uo\RunUOЧитал, что у многих есть папка сервер, у меня ее нет, т.к. в том архиве ее нет, я не знаю нужна она или нет.Зашел скачать игру сюда: https://code.google.com/archive/p/download-...ownloads?page=2Скачал 7 архивов: Ultima Online 6.0.14.3 Patch95Распаковал в директории: D:\uo\uo1Установил RazorЗашел в RunUO пошел к файлу: D:\uo\RunUO\Scripts\Misc= DataPathТам прописал путь к игре: Код namespace Server.Misc { public class DataPath { /* If you have not installed Ultima Online, * or wish the server to use a separate set of datafiles, * change the 'CustomPath' value. * Example: * private static string CustomPath = @"C:\Program Files\Ultima Online"; */ private static string CustomPath = @"D:\uo\uo1"; Запускаю RunUO.exeСервер успешно запущен Захожу, ставлю дом - проваливаюсь. До того как все снес, пробовал все что писали по ссылкам выше. После того как я все удалил и поставил заново, запуская эту сборку игры, карта была другой. Лучше создайте папку скажем D:\uo\RunUO\Data\mulfiles, скопируйте туда из клиента файлы (# - цифра от 0 до 5, соответствующая номеру карты): map#.mul staidx#.mul statics#.mul multi.idx multi.mul tiledata.mul соответственно пропишите путь к этой папке private static string CustomPath = Path.Combine(Core.BaseDirectory, "Data", "mulfiles"); Метод Configure() перепишите замените на public static void Configure() { if ( CustomPath != null ) Core.DataDirectories.Add( CustomPath ); if ( Core.DataDirectories.Count != 1 && !Core.Service ) Console.WriteLine( "Unexcepted DataDirectories count" ); } метод GetPath можно выкинуть. Использовать одни и теже файлы одновременно в клиенте и сервере не очень хорошо, так как могут возникать проблемы с доступом. К тому же это уменьшит путаницу с путями, сделав их однозначными и относительными. Далее, раз используется 6й клиент в MapDefinitions меняем MultiComponentList.PostHSFormat = true; на false. Там же лучше закоментить не используемые карты (термур и другие что не планируются) После двигаемся в CurrentExpansion и меняем там private static readonly Expansion Expansion = Expansion.SA; на Expansion.ML; по той же причине Цитата(Jul @ 24.2.2018, 14:51) Читал, что у многих есть папка сервер, у меня ее нет, т.к. в том архиве ее нет, я не знаю нужна она или нет.
Папка сервер это исходники ядра, то что в вашей сборке идет в виде бинарника - RunUo.exe если нужны исходники - можете скачать с того же сайта - RunUO2.3r987_Server_Src.rar или RunUO2.3r987_Full_Src.rar.
--------------------
RP сервер UO: Quintessence, а также ПО: EssenceUCS, EssenceUDK, CentrEd+, Fiddler+ и др.Game isn't a dream, it is the reality, reality which is coming while we dream...
|
|
|
|
Jul |
24.2.2018, 18:25
|
Группа: Пользователи Наличность: 0
Пользователь №: 18.824
Возраст: 30
|
Сделал все по инструкции, ошибка прикреплена ниже. DataPathКод using System; using System.IO; using Microsoft.Win32; using Server;
namespace Server.Misc { public class DataPath { /* If you have not installed Ultima Online, * or wish the server to use a separate set of datafiles, * change the 'CustomPath' value. * Example: * private static string CustomPath = @"C:\Program Files\Ultima Online"; */ private static string CustomPath = Path.Combine(Core.BaseDirectory, "Data", "mulfiles");
/* The following is a list of files which a required for proper execution: * * Multi.idx * Multi.mul * VerData.mul * TileData.mul * Map*.mul or Map*LegacyMUL.uop * StaIdx*.mul * Statics*.mul * MapDif*.mul * MapDifL*.mul * StaDif*.mul * StaDifL*.mul * StaDifI*.mul */
public static void Configure() { if (CustomPath != null) Core.DataDirectories.Add(CustomPath);
if (Core.DataDirectories.Count != 1 && !Core.Service) Console.WriteLine("Unexcepted DataDirectories count"); } } }
MapDefinitionsКод using System; using Server;
namespace Server.Misc { public class MapDefinitions { public static void Configure() { /* Here we configure all maps. Some notes: * * 1) The first 32 maps are reserved for core use. * 2) Map 0x7F is reserved for core use. * 3) Map 0xFF is reserved for core use. * 4) Changing or removing any predefined maps may cause server instability. */
RegisterMap( 0, 0, 0, 7168, 4096, 4, "Felucca", MapRules.FeluccaRules ); //RegisterMap( 1, 1, 1, 7168, 4096, 0, "Trammel", MapRules.TrammelRules ); //RegisterMap( 2, 2, 2, 2304, 1600, 1, "Ilshenar", MapRules.TrammelRules ); //RegisterMap( 3, 3, 3, 2560, 2048, 1, "Malas", MapRules.TrammelRules ); //RegisterMap( 4, 4, 4, 1448, 1448, 1, "Tokuno", MapRules.TrammelRules ); //RegisterMap( 5, 5, 5, 1280, 4096, 1, "TerMur", MapRules.TrammelRules );
RegisterMap( 0x7F, 0x7F, 0x7F, Map.SectorSize, Map.SectorSize, 1, "Internal", MapRules.Internal );
/* Example of registering a custom map: * RegisterMap( 32, 0, 0, 6144, 4096, 3, "Iceland", MapRules.FeluccaRules ); * * Defined: * RegisterMap( <index>, <mapID>, <fileIndex>, <width>, <height>, <season>, <name>, <rules> ); * - <index> : An unreserved unique index for this map * - <mapID> : An identification number used in client communications. For any visible maps, this value must be from 0-5 * - <fileIndex> : A file identification number. For any visible maps, this value must be from 0-5 * - <width>, <height> : Size of the map (in tiles) * - <season> : Season of the map. 0 = Spring, 1 = Summer, 2 = Fall, 3 = Winter, 4 = Desolation * - <name> : Reference name for the map, used in props gump, get/set commands, region loading, etc * - <rules> : Rules and restrictions associated with the map. See documentation for details */
TileMatrixPatch.Enabled = false; // OSI Client Patch 6.0.0.0
MultiComponentList.PostHSFormat = false; // OSI Client Patch 7.0.9.0 }
public static void RegisterMap( int mapIndex, int mapID, int fileIndex, int width, int height, int season, string name, MapRules rules ) { Map newMap = new Map( mapID, mapIndex, fileIndex, width, height, season, name, rules );
Map.Maps[mapIndex] = newMap; Map.AllMaps.Add( newMap ); } } }
CurrentExpansionКод using System; using Server.Network;
namespace Server { public class CurrentExpansion { private static readonly Expansion Expansion = Expansion.ML;
public static void Configure() { Core.Expansion = Expansion;
bool Enabled = Core.AOS;
Mobile.InsuranceEnabled = Enabled; ObjectPropertyList.Enabled = Enabled; Mobile.VisibleDamageType = Enabled ? VisibleDamageType.Related : VisibleDamageType.None; Mobile.GuildClickMessage = !Enabled; Mobile.AsciiClickMessage = !Enabled;
if ( Enabled ) { AOS.DisableStatInfluences();
if ( ObjectPropertyList.Enabled ) PacketHandlers.SingleClickProps = true; // single click for everything is overriden to check object property list } } } } Прикрепляю вид папки с мулами.
Эскизы прикрепленных изображений
|
|
|
|
StaticZ |
24.2.2018, 18:55
|
Разработчик проекта "Квинтэссенция"
Сообщений: 2.155
Регистрация: 15.6.2009 Группа: Пользователи Наличность: 0 Из: РФ, Москва
Пользователь №: 11.948
|
на фреймворках ниже 4го
private static string CustomPath = Path.Combine(Path.Combine(Core.BaseDirectory, "Data"), "mulfiles");
или
private static string CustomPath = Path.Combine(Core.BaseDirectory, @"Data\mulfiles");
--------------------
RP сервер UO: Quintessence, а также ПО: EssenceUCS, EssenceUDK, CentrEd+, Fiddler+ и др.Game isn't a dream, it is the reality, reality which is coming while we dream...
|
|
|
|
Jul |
24.2.2018, 19:12
|
Группа: Пользователи Наличность: 0
Пользователь №: 18.824
Возраст: 30
|
Цитата Server Crash Report ===================
RunUO Version 2.2, Build 4782.3756 Operating System: Microsoft Windows NT 6.1.7601 Service Pack 1 .NET Framework: 2.0.50727.8762 Time: 24.02.2018 18:10:17 Mobiles: 1044 Items: 48596 Exception: System.NullReferenceException: В экземпляре объекта не задана ссылка на объект. в Server.Misc.CharacterCreation.EventSink_CharacterCreated(CharacterCreatedEventArgs args) в Server.Network.PacketHandlers.CreateCharacter(NetState state, PacketReader pvSrc) в Server.Network.MessagePump.HandleReceive(NetState ns) в Server.Network.MessagePump.Slice() в Server.Core.Main(String[] args)
Clients: - Count: 1 + 127.0.0.1: (account = ra) раскоментил некоторые карты - заработало, в доме не проваливаюсь. буду тестить дальше. Большое спасибо. лодки вроде тоже исправно работают.
|
|
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|