artace.ru - творческий сектор

Название: Геодата, что это и зачем. [Версия для печати]

Автор: admin    Время: 2024-9-17 19:42
Название: Геодата, что это и зачем.
Хроники        PreludeHarbingers of WarAge of SplendorRise of DarknessScions of DestinyOath of BloodInterludeThe 1st Throne: The KamaelThe 1st Throne: HellboundThe 2nd Throne: GraciaThe 2nd Throne: FreyaChaotic Throne: High FiveGoddess of Destruction AwakeningGoddess of Destruction HarmonyGoddess of Destruction TautiGoddess of Destruction Glory DaysGoddess of Destruction LindviorValliance / Epeisodion / RaidersErtheia / Dimensional StrangersInfinite OdysseyHeliosGrand CursadeSalvationFafurionShadow of the Kamael% {# P* }( V6 s0 ~: i% r! q3 D2 U9 u
Сборка        L2 Java3 p) i1 P* |% q, @9 m" t1 O$ N
+ i/ o' y$ Y/ V) ~
. b2 Z" \% q# w
Доброго времени суток.
- s5 _* M; D: s" Z4 g
) W4 r& }" R7 n9 O" q" ]

/ Y# |5 x1 Y/ U$ uЧасто появляются вопросы на "стёртую до бороды" тему геодаты, зачем она нужна, какая есть и куда пихать. Пример будет на хрониках Interlude:
* ]7 U. o, s: l. }/ q1 [Возьмём две основные *_conv.dat и *.l2j, первую отбросим так как этот формат для ОФФ-серверов,хотя есть реализации в яве и этого формата.
: f' H: ?* ]+ I3 g* d" U7 g) O  o5 PДля чего она? Для мобов не существует стен как в принципе и для чаров, упёршись в стену и буксуя на месте вы всё таки меняете свои координаты, мобы проскакивают их шустрее.
+ d! R6 p) y  g. B- {0 i: eПо скольку для мобов мир - ровное плато, агрессивные вас заметят и атакуют если окажетесь в их радиусе даже если находитесь за стеной и не видите их. Геодата поможет вам от этого избавиться, если сказать короче геодата - информация о всех препятствиях имеющихся в клиенте игры. Поэтому геодата существует для разных хроник, геодата интерлюда будет считаться не полной для грации к примеру.
5 m6 i0 o/ B$ ^  l% N# Z( U- I  t; @9 y# s8 m5 |& S; L
Вся карта мира разделена на квадраты,они пронумерованы,благодаря этому вы сможете определить какой квадрат отвечает за конкретную область:
$ z/ `& b9 S& l$ p[attach]495[/attach]
: c7 c4 c9 b" b& T" A( a
2 |6 V! P' k: b' ~& K. x) z7 }7 E% L$ Y
На картинке отмечена только поверхность,подземелья не отмечены как и материк Хеллбонда, но это не значит что квадраты пустые.В клиенте квадраты находятся в папке MAPS и пустые весят от остальных одинаково.
% I$ l( t8 ]2 n( x; [Геодаты в шаре полно и она разного качества, подбирайте ту которая будет корректно работать на вашей сборке. Если в квадрате есть косяки, к примеру невидимые преграды,или не можете пройти в открытые двери или ворота,то это не причина менять его на другой,существует софт для редактирования гео и невидимую перегородку можно убрать, но это отдельная тема...  ~% B1 Z& g) N
Работа геодаты зависит еще и от гео-движка сборки - неотъемлемой составной части ядра этой сборки,так что не путайтесь с определениями что бы других не путать,геодата и геодвиг разные вещи.6 o- n) [2 h3 e1 B
У разных команд делающие эмуляторы разного качества гео-движки поэтому не всякая гео подойдёт к сборкам каких либо команд на 100%, чей геодвиг качественней решайте сами,тестируйте, темы "что лучше" для флуда.* X" g' G$ U: }$ V8 R1 A
7 f( j* Q# e4 u. k- c6 O
7 Z  I0 O4 E0 Z2 s+ M
Что такое pathnode? Отличная штука, благодаря этой приблуде мобы у вас при агре не будут ломиться сквозь стены, они их будут оббегать как и сам персонаж, создаётся пачнод определённым софтом с квадрата геодаты и его качество зависит от этого квадрата.Расширение пачнода - *.pn.
) p0 F; Q, K, u7 wКоличество файлов пачнода должно быть равно количеству файлов геодаты.
4 m6 _% |" o" T1 z1 g" ^5 RЕсть сборки на основе команды Rebellion (а точнее Fortress), такие как L2Dream, L2f ССР, Phoenix, L2Royal извиняюсь если кого забыл, у таких сборок есть возможность поставить геодвижёк на отдельную машину что бы разгрузить основной игровой сервер,но использовать не советую поскольку не доделаны, хотя возможно в платных геосервер уже реализован на 100%.
4 A+ C7 @' G  j6 C) ^' y$ J7 TТаким сборкам пачнод не требуется, их геодвиг генерирует его в процессе работы,сомневаюсь что это хорошее решение,но и не плохо с другой стороны, кому как,по мне так геодвиг sf в полне нормальный.7 K; }# {! B: r. I3 ^. [
Сборки sf,это L2jServer - первые кто написал ява эмулятор,также L2jFree, L2Emu, L2Ambrella и др. на их основе, так же можно причислить Balancer (Fortress с которого основался Rebellion),но ему пачнод уже не требовался. Был отрезок времени когда эти команды использовали внешний геосервер (кроме L2jServer), но позже от него похоже отказались.+ W7 z+ h: \( l
Таким сборкам неоходима геодата + пачнод,для комфортной игры вашим клиентам.: @1 ~% n$ N' B: ]% V5 ?
Установка геодаты на сборки без пачнода (Rebelion):
0 G3 g( b  X! k( K' Y6 E$ SПокажу на примере L2Dream., F) L  C# W$ P$ K$ |) G. P) p0 G
Путь куда закинуть гео,сами файлы ( пути и папки могут отличаться, в зависимости от сборок) *.l2j:
3 @, H( b, l, z6 W0 Q  Z* _+ q' M6 }2 l
/ t  ~: P- O: @6 Z. N" q
C:\L2Dream\game\data\geodata
9 F1 _& X& t/ I- [2 w" a) Q4 Z  S
; L. v; T6 d% X2 y

5 }% C; @; G+ ?* j
: W6 R% M, ~9 w- g$ h8 M
1 ]2 P& G  T  a+ D) P  p' B
Не в "C:\L2Dream\geo\data\geodata"(это и есть внешний геосервер),а именно по тому пути что указал.
/ ]/ [% ^* f1 }9 QНастройка.
1 g/ ]- a2 R2 q* W3 {4 wИдем по пути "C:\L2Dream\game\config",нам нужен geodata.ini или geodata.properties:
) B1 [9 _( m  S) Q- I' ]( v#================================================= ================================================== ====/ ]0 K/ Y/ a+ h
# Даный файл является конфигуратором геодаты.6 }$ z0 x  ?: f2 x. [
#3 h. X. {" [3 N: l7 i
# Геодату можно отключить, запустить в классическом режиме на гейм сервере, а также запустить как выделеный сервер геодаты.' @+ J. F0 p' t5 \' K
## ^  h6 M& A1 _  ^- E7 {
# На даный момент на сервере геодаты отсутсвует какая-либо авторизация(за ненадобностью).1 I. ]! Z9 P1 ^; h" J0 ~
# Если у вас мания взлома, то закрывайтесь на уровне операционной системы.# L+ c- D" N2 J. |
# Ну или просите прикрутить SSL.
# k% T* F1 v" a#================================================= ================================================== ====
% w! ^# w2 _1 Y* G
, N5 P2 Z6 t8 _6 J, u+ s! a
9 T, L2 Z! ]% J! R  S! _
# Включает/отключает геодату и поиск пути.
1 N: A( E; T9 O. X5 J$ i" k8 H7 ?+ a, c# Рекомендуется включить. Требует наличия файлов геодаты в data/geodata.' v. B! y' c4 P% a1 F7 i
# 0 = Геодата отключена.+ ], ]. ?8 O9 x8 j" K6 P4 v
# 1 = Геодата будет загружена в геймсервер.3 `; i  @0 e. [! B1 H
# 2 = Гейм сервер перейдет в режим клиента, и будет пытатся подключится на указаный адрес, в то время как) W' m9 L% e. E) _
# сервер геодаты сядет на указаный адрес. Для работы на выделеной машине с несколькими серверами
! q. Z& v: G  k4 Y2 d8 V# рекомендуется гигабитный (и выше) лан. Среднее потребление траффика на осаде Адена = 400 Кbps на одного игрока,
3 [( z7 I; ~9 Y* r/ g# P4 f# с учетом активированных им гвардов. При обчной игре среднее потребеление до 200 Kbps на 1 игрока.
1 v/ J  Y9 F* JGeoData = 0$ a; ~# h- A$ E8 D7 y6 }
: K, H0 D$ K, T+ y' b0 p! d7 z) d7 V

# R$ O1 e) U; r  l# Хост для сервера геодаты.
! h! a5 _4 A5 A/ J3 Z2 B( Q2 u! [# * Забиндит все интефейсы.+ `2 m/ A$ U) i. V
# Игнорируется при GeoData = 0 или GeoData = 1- M" k! b1 R0 O6 e/ Q
GeoServerHost = 127.0.0.1
# s& |5 K% W) g5 A4 u3 A9 Q
% C, r7 ~( d  O* q  @( Q7 M

6 x7 I. }/ l  ?7 B9 Y3 Q# _6 j# Куда будет пытатся коннектится клиент.4 s' k# R$ C& P
# Игнорируется при GeoData = 0 или GeoData = 1, V% s1 l+ N/ B  {# W% p& |
GeoClientTargetHost = 127.0.0.1* T( `, Q  p5 q2 r0 y$ {: p7 S( a9 d
) I$ Y3 Z0 l& J4 Y4 I, h( g, r* \
8 h: L- Z) ]7 x* c
# Порт для геодаты.
0 T" I: w4 A% w$ v1 L0 k# Сервер откроет на нем сокет., D9 |% B+ }1 `) y. z' G; E1 M
# Клиент будет пытатся подключится к нему.
5 M& c( R3 w' Z( B! [3 d& Z# Игнорируется при GeoData = 0 или GeoData = 1
* I% {; [! I5 p  g! V! R& vGeoPort = 9050
  E2 Q6 e! f0 |" v  q% K2 Q% E, [$ u" \

; [+ `4 E. J7 I# Сглаживает путь.
6 c6 h* ~$ Q4 A3 x3 e/ v, v: m7 B( a# Стоит отключать только для дебага.& D5 i1 C4 N6 I: d' _
PathClean = True$ V6 X$ ?( W! S# o

8 r, o+ h' T& N$ X. }
4 W8 [+ c; @( P0 R5 A
# Обрабатывать ли двери в геодате
+ g* e' C3 [2 b* S( x# m# s# Настройка влияет на ГеймСервер
: e' D- z  B% o* n6 UAllowDoors = False
8 b, [  A. w( W2 w- u% ~, Z
+ `. `; S8 i, R( l6 s, \
- G+ h- G% l; p+ H! Q# L
PathFindingBoost = True2 x) U* j5 R: G
PathFindArea = 250) @5 T+ E3 p1 R* u' N* C
Внимательно читаем,нам нужно это:. v6 F# d# Q( {$ k
: @$ v) b& t) \# c4 ^
2 n6 j1 a7 q$ S+ u' d
5 T3 o, Z) ~5 y" S) j% N* C5 H; B( j

- B. `4 G# g5 ^: g3 @# Включает/отключает геодату и поиск пути.
# r+ N) @1 f1 a: i# Рекомендуется включить. Требует наличия файлов геодаты в data/geodata.4 u; k) j* n3 T+ z; m
# 0 = Геодата отключена.
) W' p$ h/ a1 m5 U2 i0 s' p5 R2 U# 1 = Геодата будет загружена в геймсервер.
$ b* j3 ]3 e$ z# 2 = Гейм сервер перейдет в режим клиента, и будет пытатся подключится на указаный адрес, в то время как
2 Z6 |  \& B, r; c9 p1 m& M# сервер геодаты сядет на указаный адрес. Для работы на выделеной машине с несколькими серверами) l6 \4 C5 K8 q+ D0 i3 {
# рекомендуется гигабитный (и выше) лан. Среднее потребление траффика на осаде Адена = 400 Кbps на одного игрока,
' r/ O2 t, @$ Y% V7 n# с учетом активированных им гвардов. При обчной игре среднее потребеление до 200 Kbps на 1 игрока.
$ L! c' U. P! c- |GeoData = 0% P3 K4 h$ _  s8 m  ^1 f
% G9 I; T) h. D. R
' ]& j$ c  e9 W5 K0 h! K9 R* K
" }  W5 s2 W" X: _/ f, h  P

$ _/ {3 x8 L5 j9 _: {" a( b: ^В этом параметре меняем 0 на 1.
3 l' A: y7 w' S9 X2 ставим в том случае если всё таки решили поставить геосервер,его настройки:" [2 ?/ J) }* s3 n- ^/ J5 F% T
# Хост для сервера геодаты.7 @0 q; v$ `' m1 P8 C) \$ y. \
# * Забиндит все интефейсы.
0 |+ h6 d1 q6 S' u# F, B! f. U) R# Игнорируется при GeoData = 0 или GeoData = 10 C; A8 c/ o$ y' H
GeoServerHost = 127.0.0.1
) t$ [/ f# V' o, W, `+ W
1 w, T9 p- G* |9 Z
) ~4 l7 Q/ O: u/ F3 t
# Куда будет пытатся коннектится клиент.
6 f( D& m, ^- H, g6 j' w) h, I# Игнорируется при GeoData = 0 или GeoData = 1
- t, J/ Z; i+ w& p" PGeoClientTargetHost = 127.0.0.13 b8 W" e# P: J) G' y
. U' Z0 V! |0 ^- T  c1 @$ z
6 u! d- _' d" s( I8 T; ]# V" D# [$ S
# Порт для геодаты.8 F! |; Z+ x; ^$ `
# Сервер откроет на нем сокет.
+ M! I  {. f2 B& z: C* L8 h5 M# Клиент будет пытатся подключится к нему.
5 f5 D2 E! Y/ M; ~5 w# Игнорируется при GeoData = 0 или GeoData = 1! k; K$ R: E/ O% U& `5 Z7 }$ E: }
GeoPort = 9050) F3 a* ]  I$ N% y7 z6 b
Здесь всё ясно,можете зайти в "C:\L2Dream\geo" и увеличить выделяемой оперативки на геосервер изменением значений,StartGeoServer.bat:
3 _* ^/ Y* {; w6 x+ F# [5 x' q6 i0 l; b9 z! X3 c, Z5 p1 M

2 Q+ U: e) O. m) l
' q. c5 _! g) V# C$ _% A

+ _1 p- d6 ]7 m+ m. W- Xjava -Xms512m -Xmx768m -cp l2dserver.jar l2d.game.geodata.network.geoserver.GeoServer
* \9 P" y/ D# O3 f" w' H) U1 F% h" ?: U/ c) n4 n

/ a- i$ _; B3 z) R# L
) {( I* [& W& {! E

8 v- S  P, R* V; ZДвери,можете включить если уверены что они у вас работают,так как их "непробиваемость" не во всех геодвижках реализовано:
( H1 g  \: [+ N  j( R# M% E
; u0 Z$ N, u9 Y7 p1 m8 v" Q

6 l; e2 u$ B% [/ @% G7 t# m: E- D& D4 j7 n+ ^: q1 f. f- E

) F/ @' O* `  ?" Q5 K# Обрабатывать ли двери в геодате, y0 J) \' |% ^! l7 C  b! @& O9 P
# Настройка влияет на ГеймСервер
' q1 E5 w' p) {. X! {! @AllowDoors = True
' Q. h9 q/ e" K4 @! SТеперь sf,возьму как основу L2jServer,за всё время он не сильно изменился и не использовал геосервер.4 x0 `8 f  ?: \  e! v$ r6 _
Пути размещения файлов геодаты:
; g" R4 R2 y6 o8 w& G7 z0 t" o
% E) _7 I9 t/ W$ Y
C:\L2jServer\gameserver\data\geodata
( b. z$ G3 G# D# V+ {9 {3 J/ j  M
' Y1 l0 Q( w2 I, n

+ q6 j( {$ B5 }# [/ U  c
2 s- x) v3 V; k4 O
9 I5 C- ~! i& i# N
И патчнода:
2 Q9 e7 m0 q; `. N, o$ i$ [( K, P, u# Q' o8 ?; s: e

3 g- E. S7 [4 X4 [$ u/ [6 Z9 uC:\L2jServer\gameserver\data\pathnode: M0 S  c# u- Q0 K

& ^. s% L! `+ P2 i5 g- ~

' ^1 }8 q4 x' ^& G" h9 e* I: v* G+ x
$ L" f! {  r. q' z/ q& ?& O
В папке в месте с геодатой необходим файл geo_index.txt, в папке с пачнодом pn_index.txt,их содержимое должно быть абсолютно идентичным:8 Z( S$ X# \' J3 `" X) S* ^% G

  p) s5 B1 m' N, ]' p! e' l

1 o1 e2 c9 {- W6 I
3 K2 e- P! j5 A  D& }8 Z

* i& q+ d8 u, @* ?( E16_105 y, x% T# V& A: Y* i4 S
16_12
- m% {2 U/ p! e  g16_18
' q# _6 m! v* w  I  T16_19! p( g. j6 L) m) n
16_20
0 L7 @1 u8 P7 L9 Y16_212 U* b( `/ N0 L- {6 X
16_24
# M% G9 ]! a) S1 v2 ~; w+ s16_25
4 Y. m) e8 X, l1 d5 c17_10( v3 r: U: a: r# n  U" O
17_115 ?' j% ?  E, H
17_15
4 Q" N2 |+ E8 }17_16
* Y( N1 Z' D. B- l/ V0 o0 b17_17
1 n- V# B$ A" u5 ]  ^. [17_19" ~3 v# B% }) U
17_20  L" |7 ~" c8 A- m" h
17_21
5 U! g) o8 g. n, b17_22
4 t  r6 Y  _4 x5 v: v: C3 S17_23& y/ \+ T+ G) [& e. y
17_24! Q6 D3 S/ t, d) A# F/ y$ X5 B
17_25/ D& E9 o4 a4 |. Y0 @4 N- o5 A
18_102 f& q- t; i3 Q7 ?
18_11
# }( U; y8 A2 F3 b. M' P18_14% Q( \: ]) j# S3 M9 c2 X
18_15
- H$ y& g0 h) C18_16
7 _+ K" l0 a8 ^% ]0 J2 ?" [- {8 t6 m18_19
' q8 M2 P: ]2 I- M, _! q18_20" @* N7 R4 N  o1 [. J1 S' r
18_21
! d! a* A: A9 H+ u0 ?* W4 X' e1 r18_22% K8 E) @0 j! U' [/ A, \
18_231 C1 E! b$ _. G2 e! H7 k
18_24
8 [$ Y( P) w, Z) ?7 \+ g" ]18_250 J5 g# V/ |1 E" [! R7 N# R
19_10
; z# ~6 C& n1 T' ]+ v6 c2 H19_110 y; x" w( }" |9 U1 [
19_13. u0 ?9 n: s5 h0 A$ n2 D- M- M+ w
19_14
  j- k, i$ H+ @: W9 G3 a3 X7 d2 |19_159 U. E: O8 E* J( m! R# a  S
19_164 e, c# p: A: C
19_17
$ h) ]* y& `5 v7 {2 b9 E  j19_18+ l0 a' r( V' G$ p9 \" [
19_19
8 V( I2 N7 G5 y3 u  K3 e+ g4 Y19_20
( n% V; v+ O4 `) h+ U0 t1 E19_21
8 V" s6 X! w7 [4 t% W; l/ C19_22
/ @$ }3 c7 U# W/ d- Z/ F: ?19_23
. K+ I$ @! M5 c3 {: K4 l19_24  ~& B$ E+ V3 ^3 {0 n- v
19_25
4 ~" s, L+ Y, e/ e9 b19_26
3 @! `$ X% b+ X& D* v/ U20_10
. b* v% ?5 f! r9 r20_11
2 @9 s6 ]: V2 p- \2 T# S8 ]) Z6 r20 _133 s* `# B2 T" P9 E" R2 v
20_144 y( a9 n6 n1 _1 ^4 N: s+ f( N
20_15
4 w* o! p- D% |6 W20_16. \% g! p$ s3 z; O2 g0 k
20_173 l3 E1 b8 r  S/ k" C' q  R
20_18* o7 `3 e2 Y) I& \* a% q: R3 ?
20_19$ Q* r" _% ^; `- O* C
20_207 {+ Y% P4 K* M) T/ q
20_21+ ], t2 v" s8 L5 R! M+ ?+ a9 `2 i
20_22
/ c8 f5 v  x2 D2 B! @: M6 m( l- C3 l20_ 23
2 h8 ^+ _& n1 J" r5 m3 W) o! i20_24
/ I: v! b* E0 o5 S8 T, |# x20_25
+ |; p. p+ |9 J" z$ x  }20_267 @% I  P0 q5 I- M9 ^& K, [: Q% Q
21_11
4 `; F& w2 m" v2 r$ q1 y8 X21_149 M2 ?3 r% Z9 x; Y* }" Q9 Q
21_15( }6 ~/ N- ?0 T6 H. Q/ k
21_16
( ]/ X4 g" _9 _7 _. |) m, J( g21_175 z" V+ n' s7 e: g" \
21_18* S" T8 c6 f3 G; b4 {( l: e7 i& l# F
21_19
4 V' n& `% W. T5 J- F& |21_20
( e/ L) V% e  @21_21; u1 |% R% w- V- e6 E/ @
21_22
0 S! ^% r3 t+ T  T# q21_23/ z' T' S% `, z
21_24
& Q& T8 {* s' k9 k3 M/ q7 {+ e21_25
' ~( q8 z6 x+ K$ B+ |" }22_13
$ R9 s! J7 G7 D9 F22_14- _9 w% f/ j) y/ b
22_15% ?+ S$ j) k9 }) I7 g
22_16( I; _2 z" [/ B4 X3 x3 {
22_17
% O5 U% H0 n3 X, m  S+ x( T22_183 V% B* s( U! Z0 x0 \" s
22_19
. |% a2 h3 k* K7 u' U  @+ d3 C" H22_20
0 E( a: ]. ~- V, Y22_215 l# n8 m) U" Z! R+ j& u2 P2 Q' o
22_22
+ a0 a/ k3 L$ P' l5 c! P22_23$ T2 [! g: K! p. @- ^% O8 M+ |- p
22_24! R0 Z7 k4 ]: V2 z0 j2 x
22_25
4 u; a5 Z/ b+ P' f0 V23_11
2 V0 K; j1 _- ^23_121 |! l8 r. d! Q; S
23_137 m' D0 e  E5 S3 a
23_14
, l6 C. C7 ~2 L4 |5 O4 S8 g23_15% T' _( g; v, s( |( o
23_16, G9 r6 M; v, W6 T) d
23_174 M6 D. j  t! `; F7 a; ^9 }
23_185 \5 m( T* k8 {* [$ Z
23_19  K& `$ f* h8 C3 g1 t0 z6 {6 \
23_20
' v0 e/ p3 w( p3 j1 n9 _1 W, p23_21
* ^* Y/ o% r' U3 @$ \! P3 a23_22
5 w7 s0 t3 F9 l% O23_23
/ q2 Q  a" n7 v: _4 v23_24
% I; t0 M5 r1 J/ a23_25$ Q( X0 }3 _; T& b! {' d- r# D
24_11
: t" f0 h% q: r4 n# y/ b3 }24_12
8 y+ |2 i6 c2 i. q1 _0 u24_13
: p% h- ^+ ~% V$ O" ]24_14
3 C: n6 ]3 I, R) V' z24_15
/ z' Z& p. j: T3 G24_16
3 o5 w' d5 ~) U& [2 u: N& {24_17# o, |  X! ~" \3 J; s$ ]
24_18
: E$ `6 G1 ?2 ]/ E- n8 a24_199 Y0 E+ L: J, c5 v
24_20# s3 j8 ?: o- v/ l& B/ R
24_21& F2 S- i2 u, t# A5 X$ c% U
24_22
7 @, X+ O0 W4 }9 h3 ~8 Q24_23. ]: ~0 r$ r/ C& f' j; ]7 p
24_241 \) G5 s' ]) Q6 E
24_25
1 K; X. p" u0 [% g1 i+ b4 @# @25_11
8 P* S% e! M5 l8 m. j25 _12: j3 [2 g$ i5 x% Y$ c# h. D
25_14( f( W) H3 _7 [% ]. x$ ?& Y
25_15+ e! q+ d* s/ p7 h' |3 P
25_16
1 F4 _6 I) ^) y' e25_17
' U. _( _, t7 `9 J' G8 h25_18
+ c! M3 a2 z1 n& g25_19
% H% M7 R& A. {& c$ M  w) z25_200 k  }$ p6 a5 |; b5 \) r5 N0 t
25_21) V( [2 p; j* j+ X
25_23. O7 P; V. N6 G' O" O
26_ 11
* R" j# O: p# ^/ o& c3 H26_12
9 `3 E8 J+ N+ z6 E& ^- @26_14
  y! L( G7 y5 K
" P% ]9 e: n/ }1 s$ I
2 _% z1 j6 H) H: L0 b
4 M' Z, w6 o9 X1 U( h5 J. Q

6 e5 v; T6 r4 k& S" h1 u% |В этих файлах прописаны загружаемые геосервером квадраты геодаты,если содержание geo_index.txt и pn_index.txt не совпадает то при загрузке геодаты может вылезти ошибка,просмотрев лог ошибки увидите какого файла геодаты или пачнода не хватает./ ^. o5 h/ w, w7 c& \) o
Настройка,находим по пути "C:\L2jServer\gameserver\config" General.properties,нам нужен следующий раздел:/ ~# J0 i4 J$ [1 s
#------------------------------------------------------------- --------------5 F& G. z8 q' G, U+ M0 Z
# Geodata
+ j! ~7 ~4 I8 P. d) [; B! _5 ?, t+ K  ?# ----------------------------------------------------------------------- ----
# j/ u" j+ }1 b* Q6 {# GeoData options:
1 k% E' D4 `* f# K/ [% F9 {7 Z. E/ W9 j# 0 = GeoData and PathFinding OFF (default)
: g9 ?! j' C' d) ~# 1 = GeoData is used to check Line Of Sight (LOS) targeting and2 i$ g- q  f& D- U0 I, G% M  J
# L2Playable movement. You need to download files for data/geodata folder.
' w9 u$ M6 {* V! T# Monsters can pass walls but not aggro (no line of sight) through them.% B& K4 U0 |# X% @3 i
# 2 = Full GeoData enabled. Includes PathFinding (requires also /data/pathnode
" D/ m" a# ]# H+ s5 q* }# f9 d# files if CellPathFinding not enabled) and all character moves go through- E& S8 v" T7 J# F! F: W
# geodata checks (if a mob passes a wall, pathfinding didn't find a route
2 x9 ^) }, `% Y# but we allow attack and returning home)." q4 p- E: E+ [
# Recommended server memory minimum 2 GB, rather 3 GB.: r8 R* U9 z4 ~. Y  f
# Default: 0$ h" C# F. G8 o9 [$ `& b0 w
GeoData = 0& a4 o$ Y: \5 Z8 ^+ C/ [7 w& z: ^9 f

5 I, Y( S( u* S9 Q

$ Q( K" L3 x. W7 u, N/ o# Cell-level pathfinding, produces more accurate routes but is (maybe 10x) heavier to calculate. Recommended for small servers at least.+ z9 E/ C; K# j' v2 J
# If False, pathnode files are used. Uses a max number of nodes in calculation which can be adjusted in the algorithm if it needs to be faster.
* x3 g8 W, F* R% g. l2 ?# Default: False
1 V# t/ S3 e/ p7 g0 rCellPathFinding = False
( G7 D  [4 g" q
" o$ s, a2 i! A0 o% E5 I3 A

' v# x/ A5 p/ o4 O% p; k# True = Loads GeoData buffer's content into physical memory.7 w9 e7 q( F: r( H1 O
# False = Does not necessarily imply that the GeoData buffer's content is not resident in physical memory.
( y0 x' o6 S* M, G4 k3 l9 U7 j4 F# Default: True$ H% ^7 H$ D% a& h( t
ForceGeodata = True
2 }8 W& K: X+ m1 b5 M9 ?
: S0 x6 g( g9 b$ w2 |7 ?# Z9 ?$ i
) ]1 M" N0 @$ ^% _6 E) s6 f
# This setting controls Client <--> Server Player coordinates synchronization:
* y5 s" h* [) ^1 t1 Z5 u* e# -1 - Will synchronize only Z from Client --> Server. Default when no geodata.
  i% F1 B4 `+ U/ B1 r# 1 - Synchronization Client --> Server only. Using this option (without geodata) makes it more difficult for players to bypass obstacles.9 }6 H2 W$ Q( u
# 2 - Intended for geodata (at least with cell-level pathfinding, otherwise can you try -1)." D; r) N1 \$ @
# Server sends validation packet if client goes too far from server calculated coordinates.
, F! W) f+ ?1 A% r: j5 f: |, Z; h* o# Default: -1
  H( `) D; N. X3 f0 bCoordSynchronize = -1
( u: K5 ?% X. S) X7 g/ }
6 L* l, \* ]. Z
! ?5 P6 n5 {5 J, W

! [, E9 y4 s+ U" Q. R+ v

1 J- p1 X; c! P/ i9 l) e! O! tGeoData = 0% T/ c/ B5 t, T& z, V
$ x- E0 d& z4 H! v5 A! [
9 }# [. c3 h. u
/ U5 z- V6 @! A; I
  |% E# r$ N) C  G7 ^' r& h! Q
Ставим 1 если нас только геодата,пачнод отсутствует.В этом случае мы получаем только то что агрессивные мобы не будут на нас кидаться,персы утыкаясь в стену не будут буксовать,а просто остановятся,но мобы если вы завернули за угол будут вас всё равно "видеть" и ломиться к вам через стену.9 u% C+ |3 A( v. z& p& m' `
Ставим 2 если пачнод присутствует, так же включаем эту настройку:
( _( W8 g. k  w6 I' n# I0 U  h3 g0 W9 H
. |8 i. R7 s8 P" G4 K+ K9 n: v& m! n

% x, `) G: g  k4 v
+ s  e, U4 t& i( k
# Cell-level pathfinding, produces more accurate routes but is (maybe 10x) heavier to calculate. Recommended for small servers at least.
' c9 ?: J" f! u8 b# If False, pathnode files are used. Uses a max number of nodes in calculation which can be adjusted in the algorithm if it needs to be faster.
$ _0 h2 ~- B, P3 R# e# Default: False7 G+ T$ K+ `% w6 R0 K
CellPathFinding = False
' _0 T1 J, t4 }" p: F0 L  c# e2 k/ A  A; x2 @/ N% c

( l* h1 K; w, o7 d& E( J) l4 O5 H1 r8 ~
5 W9 ]$ d2 C$ _. [: Y( P) ?
Ставим True если хотим более сглаженную работу пачнода,но нагрузка на сервер немного возрастёт,если нет то ничего не меняем.
; j1 {- V* q8 k( RПожалуй всё подробно написал, спецы дополняем если что то не учел.! P7 I1 z7 q# Z4 x
3 V. u% J: e7 x0 m
) |( C* n& {6 N3 l# b# V. G, @
Не забывайте что если вы изменили конфиги при запущенном сервере,то они вступят в силу только после перезапуска сборки.
/ g* P* l! w  X8 t" u9 |5 |% h2 o; L( t# `3 G7 I; L
И строки начинающиеся с "#" никакого значения не имеют, это просто комментарий или один из неактивных вариантов конфигурации.
7 R4 x0 @' N. ?) v; ^
# v4 {8 l& t( r5 n' M2 L




Добро пожаловать artace.ru - творческий сектор (https://artace.ru/) Powered by Discuz! X3.5