ошибка geodata - Форум администраторов игровых серверов
Форум администраторов игровых серверов StormWall - Защита от DDos атак
Регистрация Мнения Справка Пользователи Календарь Все разделы прочитаны
Вернуться   Форум администраторов игровых серверов > MMO > Lineage II > Работа с геодатой

Работа с геодатой Разработка и правка Геодаты для ява серверов.

Ответ
Опции темы
Непрочитано 22.06.2012, 16:47   #1
Пользователь

Автор темы (Топик Стартер) ошибка geodata

Cборка l2 phoenix 20736

Суть проблемы такова гео грузится норм.Но когда начинаешь бегать в игре чар останавливается и приходится начинать движения на стрелочках.

В гс выдаёт

Код:
Exception in thread "Pathfind Pool-1" java.lang.NullPointerException
        at l2p.gameserver.geodata.PathFind.addDebugItem(PathFind.java:383)
        at l2p.gameserver.geodata.PathFind.getNeighbour(PathFind.java:347)
        at l2p.gameserver.geodata.PathFind.handleNode(PathFind.java:182)
        at l2p.gameserver.geodata.PathFind.findPath(PathFind.java:99)
        at l2p.gameserver.geodata.PathFind.<init>(PathFind.java:73)
        at l2p.gameserver.geodata.GeoMove.findPath(GeoMove.java:28)
        at l2p.gameserver.geodata.GeoMove.findMovePath(GeoMove.java:67)
        at l2p.gameserver.model.L2Character.buildPathTo(L2Character.java:2193)
        at l2p.gameserver.model.L2Character.moveToLocation(L2Character.java:2315
)
        at l2p.gameserver.model.L2Character.moveToLocation(L2Character.java:2277
)
        at l2p.gameserver.clientpackets.MoveBackwardToLocation$StartMoveTask.run
(MoveBackwardToLocation.java:158)
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source
)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
        at java.lang.Thread.run(Unknown Source)
Exception in thread "Pathfind Pool-66" java.lang.NullPointerException
        at l2p.gameserver.geodata.PathFind.addDebugItem(PathFind.java:383)
        at l2p.gameserver.geodata.PathFind.getNeighbour(PathFind.java:347)
        at l2p.gameserver.geodata.PathFind.handleNode(PathFind.java:182)
        at l2p.gameserver.geodata.PathFind.findPath(PathFind.java:99)
        at l2p.gameserver.geodata.PathFind.<init>(PathFind.java:73)
        at l2p.gameserver.geodata.GeoMove.findPath(GeoMove.java:28)
        at l2p.gameserver.geodata.GeoMove.findMovePath(GeoMove.java:67)
        at l2p.gameserver.model.L2Character.buildPathTo(L2Character.java:2193)
        at l2p.gameserver.model.L2Character.moveToLocation(L2Character.java:2315
)
        at l2p.gameserver.model.L2Character.moveToLocation(L2Character.java:2277
)
        at l2p.gameserver.clientpackets.MoveBackwardToLocation$StartMoveTask.run
(MoveBackwardToLocation.java:158)
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source
)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
        at java.lang.Thread.run(Unknown Source)
geodata
Код:
#===================================================#
# Даный файл является конфигуратором геодаты.       #
#===================================================#

GeodataDebug = True
PathfindDebug = True
MultiThreadedLoad = True

GeoFirstX = 11
GeoFirstY = 10
GeoLastX = 26
GeoLastY = 26

# Паттерн для файлов геодаты.
# Файлы что подойдут под паттерн будут считатся файлами геодаты
GeoFilesPattern = (\\d{2}_\\d{2})\\.l2j

# Обрабатывать ли двери в геодате
# Настройка влияет на ГеймСервер
AllowDoors = True

# Разрешать игроку падать с горизонтальной стены если он кликает по самой стене
AllowFallFromWalls = False

# Движение клавиатурой (стрелочками)
AllowMoveWithKeyboard = True

# оптимизация размещение гео в памяти, экономит около 150Мб памяти
# для оптимизации нужно сначала нужно сгенерировать карты совпадений
# java -Xms1g -Xmx3000m -Xmn3000m -XX:PermSize=16m -cp l2pserver.jar l2p.debug.benchmark.GeoMatchesGenerator
CompactGeoData = False

# Мобы срезают углы, за счет чего нагрузка падает в несколько раз
# Могут застревать на поворотах и некрасиво обходить деревья
SimplePathFindForMobs = True

# Диагональный поиск. Возможно тратит больше ресурсов.
PathFindDiagonal = True

# Сглаживает путь.
# Стоит отключать только для дебага.
PathClean = True

# Сильно ускоряет поиск, как влияет на качество неизвестно
# 0 - отключить, 1 - только начало пути, 2 - начало и конец пути
PathFindBoost = 2

# Максимальная высота ступеньки для поиска пути
PathFindMaxZDiff = 32

# Максимальная высота ступеньки для геодаты
MaxZDiff = 64

# Минимальная разница между слоями
MinLayerHeight = 64

# Базовый вес ячейки
Weight0 = 0.5

# Вес "плохих" клеток первого плана
Weight1 = 2

# Вес "плохих" клеток второго плана
Weight2 = 1

# Настройка буфферов для поиска пути
PathFindBuffers = 8x100;8x128;8x192;4x256;2x320;2x384;1x500

# Прибавка к Z для пакетов
ClientZShift = 16

# Глубина видимости (количество видимых регионов). От 1 и более.
ViewOffset = 1

# Размер региона. Менять с учетом ViewOffset.
DivBy = 2048
DivByForZ = 1024

# Номера квадратов геодаты с вертикальным разделением регионов (густонаселенные многоэтажные локации)
# Cruma Tower, Swamp of Screams, Garden of Eva, Tower of Insolence, Forge of the Gods, Imperial Tomb, Giant's Cave
VerticalSplitRegions = 20_21;22_16;22_25;23_18;25_14;25_15;25_19;24_23

# Отложенный спавн
DelayedSpawn = false
гс.bat
Код:
@echo off
title L2Phoenix: Game Server Console 
:start
set user=root
set pass=root
set DBname=l2pdb
set DBHost=localhost
set ctime=%TIME:~0,2%
if "%ctime:~0,1%" == " " (
set ctime=0%ctime:~1,1%
)
set ctime=%ctime%'%TIME:~3,2%'%TIME:~6,2%
echo.
echo Making a full backup into %DATE%-%ctime%_backup_full.sql
echo.
mysqldump.exe %Ignore% --add-drop-table -h %DBHost% -u %user% --password=%pass% %DBname% > backup/%DATE%-%ctime%_backup_full.sql
echo.
echo Backup complite %DATE%-%ctime%_backup_full.sql
echo.
echo %DATE% %TIME% Game server is running !!! > gameserver_is_running.tmp
echo Starting L2P Game Server.
echo.
rem ======== Optimize memory settings =======
rem Minimal size with geodata is 1.5G, w/o geo 1G
rem Make sure -Xmn value is always 1/4 the size of -Xms and -Xmx.
rem -Xms and -Xmx should always be equal.
rem ==========================================
java -server -Dfile.encoding=UTF-8 -Xms1024m -Xmx3500m -cp bsf.jar;bsh-2.0.jar;javolution.jar;c3p0-0.9.1.2.jar;mysql-connector-java-bin.jar;l2pserver.jar;jython.jar;rrd4j-2.0.5.jar;jacksum.jar l2p.gameserver.GameServer
if ERRORLEVEL 2 goto restart
if ERRORLEVEL 1 goto error
goto end
:restart
echo.
echo Admin Restart ...
echo.
goto start
:error
echo.
echo Server terminated abnormaly
echo.
:end
echo.
echo server terminated
echo.
del gameserver_is_running.tmp
pause
nimens вне форума Ответить с цитированием
Непрочитано 22.06.2012, 18:15   #2
Изгнанные

По умолчанию Re: ошибка geodata

Битая гео и слепому понятно (если феникс это не самопал со своим гео движком), если не хотите менять гео, отключили сглаживание пути.
L2scripts-Guard вне форума Отправить сообщение для L2scripts-Guard с помощью Skype™ Ответить с цитированием
Непрочитано 22.06.2012, 19:11   #3
Пользователь

Автор темы (Топик Стартер) Re: ошибка geodata

Спс iqman.Может кто нибудь посоветовать хорошую геодату для данной сборки
nimens вне форума Ответить с цитированием
Непрочитано 23.06.2012, 18:54   #4

По умолчанию Re: ошибка geodata

Цитата:
Сообщение от nimens Посмотреть сообщение
Спс iqman.Может кто нибудь посоветовать хорошую геодату для данной сборки
Пользовался из шары гео датой всё ок.
__________________
Mangol вне форума Отправить сообщение для Mangol с помощью ICQ Ответить с цитированием
Непрочитано 23.06.2012, 19:12   #5
Аватар для DiagoD

По умолчанию Re: ошибка geodata

Цитата:
Сообщение от iqman Посмотреть сообщение
Битая гео и слепому понятно (если феникс это не самопал со своим гео движком), если не хотите менять гео, отключили сглаживание пути.
а причем здесь гео то
нпе бьет не из-за кривой гео, а из-за дебага геодвижка...так как нету сорсов не могу сказать точно почему но для того, что бы это решить достаточно не врубать все конфиги подрят, а хотя бы вдумыватся для чего они и врубать только нужные...

выключите дебаг и параллельную подгрузку)

GeodataDebug = False
PathfindDebug = False
MultiThreadedLoad = False
__________________
open-team.ru - Freya, HighFive...
DiagoD вне форума Отправить сообщение для DiagoD с помощью ICQ Отправить сообщение для DiagoD с помощью Skype™ Ответить с цитированием
Непрочитано 23.06.2012, 19:12   #6
Олдфаг

По умолчанию Re: ошибка geodata

Exception in thread "Pathfind Pool-1" java.lang.NullPointerException
at l2p.gameserver.geodata.PathFind.addDebugItem(PathF ind.java:383)

Есть мнение что надо выключить дебаг:

GeodataDebug = False
PathfindDebug = False

Добавлено через 34 секунды
Опередили...

Последний раз редактировалось G1ta0; 23.06.2012 в 19:13. Причина: Добавлено сообщение
G1ta0 вне форума Ответить с цитированием
Сказали спасибо:
Непрочитано 23.06.2012, 19:21   #7
Изгнанные

По умолчанию Re: ошибка geodata

Согласен если отключить дебаг то ошибок не будет, НО:

Код:
			if(custom_debug && Config.PATHFIND_DEBUG)
				addDebugItem(57, 1, n.getLoc().geo2world());
Код:
		L2ItemInstance item = ItemTable.getInstance().createItem(item_id);
		if(item_count > 1)
			item.setCount(item_count);
		debugItems.add(item);
		item.dropMe(null, loc);
т.е вы предполагаете что сервер не узнает 57-ой ИД?

Добавлено через 2 минуты
Код:
PathfindDebug = True
Код:
			if(Config.GEODATA_DEBUG && obj.isPlayer())
				debugPath((L2Player) obj, buff, path); // TODO дебаг не для лайва!
Код:
		if(debugItems == null)
			debugItems = new GArray<L2ItemInstance>();
		else
		{
			for(L2ItemInstance item : debugItems)
				item.deleteMe();
			debugItems.clear();
		}

Последний раз редактировалось L2scripts-Guard; 23.06.2012 в 19:23. Причина: Добавлено сообщение
L2scripts-Guard вне форума Отправить сообщение для L2scripts-Guard с помощью Skype™ Ответить с цитированием
Непрочитано 23.06.2012, 19:25   #8
Аватар для DiagoD

По умолчанию Re: ошибка geodata

Цитата:
Сообщение от iqman Посмотреть сообщение
Согласен если отключить дебаг то ошибок не будет, НО:

Код:
			if(custom_debug && Config.PATHFIND_DEBUG)
				addDebugItem(57, 1, n.getLoc().geo2world());
Код:
		L2ItemInstance item = ItemTable.getInstance().createItem(item_id);
		if(item_count > 1)
			item.setCount(item_count);
		debugItems.add(item);
		item.dropMe(null, loc);
т.е вы предполагаете что сервер не узнает 57-ой ИД?
нет
я не поленился и скачал сорсы...
383 строка это debugItems.add(item);
если не смотря на код и логически подумать то у нас может быть только 1 причина почему бьет НПЕ, это не инициализированный debugItems...
самый простой способ это исправить - заменить на строке 376
private static GArray<L2ItemInstance> debugItems;

на

private static GArray<L2ItemInstance> debugItems = new GArray<L2ItemInstance>();

Добавлено через 6 минут
но лучше сделать не так...

debugItems.add(item); заменить на

if(debugItems == null)
debugItems = new GArray<L2ItemInstance>();
debugItems.add(item);
__________________
open-team.ru - Freya, HighFive...

Последний раз редактировалось DiagoD; 23.06.2012 в 19:31. Причина: Добавлено сообщение
DiagoD вне форума Отправить сообщение для DiagoD с помощью ICQ Отправить сообщение для DiagoD с помощью Skype™ Ответить с цитированием
Непрочитано 23.06.2012, 20:03   #9
Изгнанные

По умолчанию Re: ошибка geodata

Ну не надо из меня дурака делать и закрывать глаза на вторую часть кода которую я выставил, конструктор пат-фаинд инициализирует массив, так что извини доктор, не то лекарство прописал.
L2scripts-Guard вне форума Отправить сообщение для L2scripts-Guard с помощью Skype™ Ответить с цитированием
Непрочитано 23.06.2012, 20:19   #10
Аватар для helly
Супергерой

По умолчанию Re: ошибка geodata

helly вне форума Ответить с цитированием
Сказали спасибо:
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Продам] GEODATA HF Scoo Рынок / Marketplace 1 10.01.2012 16:13
///geodata krisadr Игровой клиент 6 07.12.2010 01:03
GeoData Ljucifer Работа с геодатой 0 21.10.2008 17:15
Geodata ilyxa Работа со скриптами 28 11.08.2008 00:29


© 2007–2020 «Форум администраторов игровых серверов»
Защита сайта от DDoS атак — StormWall
Работает на Булке неизвестной версии с переводом от zCarot
Текущее время: 23:02. Часовой пояс GMT +3.

Вверх