Рейтинг темы:
  • 0 Голос(ов) - 0 в среднем
  • 1
  • 2
  • 3
  • 4
  • 5
ошибка geodata
#1
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
Ответ
#2
Битая гео и слепому понятно (если феникс это не самопал со своим гео движком), если не хотите менять гео, отключили сглаживание пути.
Ответ
#3
Спс iqman.Может кто нибудь посоветовать хорошую геодату для данной сборки
Ответ
#4
nimens Написал:Спс iqman.Может кто нибудь посоветовать хорошую геодату для данной сборки
Пользовался из шары гео датой всё ок.
Smile
Ответ
#5
iqman Написал:Битая гео и слепому понятно (если феникс это не самопал со своим гео движком), если не хотите менять гео, отключили сглаживание пути.

а причем здесь гео то:redlol::redlol::redlol:
нпе бьет не из-за кривой гео, а из-за дебага геодвижка...так как нету сорсов не могу сказать точно почему но для того, что бы это решить достаточно не врубать все конфиги подрят, а хотя бы вдумыватся для чего они и врубать только нужные...

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

GeodataDebug = False
PathfindDebug = False
MultiThreadedLoad = False
open-team.ru - Freya, HighFive...
Ответ
#6
Exception in thread "Pathfind Pool-1" java.lang.NullPointerException
at l2p.gameserver.geodata.PathFind.addDebugItem(PathFind.java:383)

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

GeodataDebug = False
PathfindDebug = False

Добавлено через 34 секунды
Опередили...
Ответ
#7
Согласен если отключить дебаг то ошибок не будет, НО:

Код:
            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();
        }
Ответ
#8
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-ой ИД?

нетXD
я не поленился и скачал сорсы...
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...
Ответ
#9
Ну не надо из меня дурака делать и закрывать глаза на вторую часть кода которую я выставил, конструктор пат-фаинд инициализирует массив, так что извини доктор, не то лекарство прописал.
Ответ
#10
offtop
Ответ


Возможно похожие темы ...
Тема Автор Ответы Просмотры Последний пост
  [GitHub] Geodata Lineage II High Five 5 PROGRAMMATOR 6 7,887 02-21-2017, 02:00 AM
Последний пост: iDarkEmpire
  Geodata & pathnode под epilogue от stazis BaldIriskin 0 3,229 02-07-2016, 10:06 PM
Последний пост: BaldIriskin
  L2jserver & geodata ccc 7 5,505 02-06-2016, 03:21 PM
Последний пост: mountaineer
  Geodata память cmd 1 5,858 07-21-2015, 04:41 PM
Последний пост: Cache
  GeoData, PathFinding, GeoEngine mountaineer 3 3,569 05-28-2015, 10:55 AM
Последний пост: gorodetskiy
  Geodata - пару вопросов Valent 0 1,666 04-01-2014, 03:04 PM
Последний пост: Valent
  Rev Soulshoutm Geodata Prablema OpineL 8 2,633 02-24-2013, 08:50 PM
Последний пост: OpineL
  Все тот же geodata in builder kloni1 15 5,616 07-02-2012, 01:49 PM
Последний пост: kloni1
  Ошибка Гео в сборке SHT Raffinary 38 7,966 06-09-2012, 02:50 AM
Последний пост: ANZO
  Geodata Goddess of Destruction deMEV 12 8,544 02-18-2012, 01:03 AM
Последний пост: R2D2

Перейти к форуму:


Пользователи, просматривающие эту тему: 1 Гость(ей)