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 Kamael2 l- n0 s; ~7 b& a6 A
Сборка        L2 Java
2 b: J8 C! y) Z/ ^- R% r6 n9 ~4 v, N* j4 P0 ?. g& W1 z9 }: D

, }7 o$ [# Y8 W5 kДоброго времени суток.
2 P' H- S* k7 \
! p0 [; E: j! a, l% T+ j  I
" F# t, Z) V* E
Часто появляются вопросы на "стёртую до бороды" тему геодаты, зачем она нужна, какая есть и куда пихать. Пример будет на хрониках Interlude:' }0 \7 X9 A1 d+ `# N
Возьмём две основные *_conv.dat и *.l2j, первую отбросим так как этот формат для ОФФ-серверов,хотя есть реализации в яве и этого формата.
: _5 S. @$ F6 v' q/ c' Q6 M0 i; ]Для чего она? Для мобов не существует стен как в принципе и для чаров, упёршись в стену и буксуя на месте вы всё таки меняете свои координаты, мобы проскакивают их шустрее.
. c% Y  {- a, n2 h1 qПо скольку для мобов мир - ровное плато, агрессивные вас заметят и атакуют если окажетесь в их радиусе даже если находитесь за стеной и не видите их. Геодата поможет вам от этого избавиться, если сказать короче геодата - информация о всех препятствиях имеющихся в клиенте игры. Поэтому геодата существует для разных хроник, геодата интерлюда будет считаться не полной для грации к примеру.6 E) e1 y% U* u# L# }2 p4 ~8 E
  _1 n- O- d& m( [4 M# e* e& l
Вся карта мира разделена на квадраты,они пронумерованы,благодаря этому вы сможете определить какой квадрат отвечает за конкретную область:
2 t9 b6 e" u9 J# Z  R3 \/ d[attach]495[/attach]+ D5 W% C4 {; Q
: N! Y- k; V- I- r- g
На картинке отмечена только поверхность,подземелья не отмечены как и материк Хеллбонда, но это не значит что квадраты пустые.В клиенте квадраты находятся в папке MAPS и пустые весят от остальных одинаково.
1 B  I- W4 @  g! qГеодаты в шаре полно и она разного качества, подбирайте ту которая будет корректно работать на вашей сборке. Если в квадрате есть косяки, к примеру невидимые преграды,или не можете пройти в открытые двери или ворота,то это не причина менять его на другой,существует софт для редактирования гео и невидимую перегородку можно убрать, но это отдельная тема...+ l4 l# k6 l! Z$ B3 P
Работа геодаты зависит еще и от гео-движка сборки - неотъемлемой составной части ядра этой сборки,так что не путайтесь с определениями что бы других не путать,геодата и геодвиг разные вещи.
; U, Y. ^' Y( B8 d- G; BУ разных команд делающие эмуляторы разного качества гео-движки поэтому не всякая гео подойдёт к сборкам каких либо команд на 100%, чей геодвиг качественней решайте сами,тестируйте, темы "что лучше" для флуда.
6 J* r! F: f3 L5 d/ M
7 W; E' F& d6 U! y+ M- b1 `
: p" P! y9 c8 O1 _
Что такое pathnode? Отличная штука, благодаря этой приблуде мобы у вас при агре не будут ломиться сквозь стены, они их будут оббегать как и сам персонаж, создаётся пачнод определённым софтом с квадрата геодаты и его качество зависит от этого квадрата.Расширение пачнода - *.pn.  r' R1 @& @) J% Z
Количество файлов пачнода должно быть равно количеству файлов геодаты.
7 V1 R# E) U& Z, DЕсть сборки на основе команды Rebellion (а точнее Fortress), такие как L2Dream, L2f ССР, Phoenix, L2Royal извиняюсь если кого забыл, у таких сборок есть возможность поставить геодвижёк на отдельную машину что бы разгрузить основной игровой сервер,но использовать не советую поскольку не доделаны, хотя возможно в платных геосервер уже реализован на 100%.* S. G# G( R; W5 Z5 f: t
Таким сборкам пачнод не требуется, их геодвиг генерирует его в процессе работы,сомневаюсь что это хорошее решение,но и не плохо с другой стороны, кому как,по мне так геодвиг sf в полне нормальный.
9 U! ]  h, P0 t' s  ]Сборки sf,это L2jServer - первые кто написал ява эмулятор,также L2jFree, L2Emu, L2Ambrella и др. на их основе, так же можно причислить Balancer (Fortress с которого основался Rebellion),но ему пачнод уже не требовался. Был отрезок времени когда эти команды использовали внешний геосервер (кроме L2jServer), но позже от него похоже отказались.
7 B" N- `) [& G" [% V" HТаким сборкам неоходима геодата + пачнод,для комфортной игры вашим клиентам.
: \( e! D! q5 E* nУстановка геодаты на сборки без пачнода (Rebelion):
% C7 t/ M( G4 _0 W* j# ^% j4 N% R  PПокажу на примере L2Dream.
: b9 }1 K# u/ X# }# k8 [) UПуть куда закинуть гео,сами файлы ( пути и папки могут отличаться, в зависимости от сборок) *.l2j:
/ g1 Z+ M2 r0 j5 C8 F8 d0 R7 p1 Z+ ?0 f) H
) C( n! T6 z4 F3 k# S- \) @& c9 k; k4 g
C:\L2Dream\game\data\geodata
, n1 x3 T# \* G4 W" t7 I% [3 n+ i, I1 r& A5 r4 q9 s4 U% [' s! {
/ o2 u$ s* B, l* e& Y2 Z6 R
* n; }# P0 I* ]. e, I
) b2 ]1 o" ?1 G2 {& f, v4 _7 X$ \3 x
Не в "C:\L2Dream\geo\data\geodata"(это и есть внешний геосервер),а именно по тому пути что указал.
" q  i9 j; z( z% K7 U, WНастройка.
; Y7 |+ L: q6 TИдем по пути "C:\L2Dream\game\config",нам нужен geodata.ini или geodata.properties:
; V, w. P5 \  f5 X; I# J#================================================= ================================================== ====; F1 }8 `9 O$ v0 f: K- |4 o; ?* l  N2 ^
# Даный файл является конфигуратором геодаты.7 G0 q  v6 s+ F' g7 Q
#
4 d" J" E. M0 w, p6 i# Геодату можно отключить, запустить в классическом режиме на гейм сервере, а также запустить как выделеный сервер геодаты.
1 R8 y: ]5 N, U" f6 S. z#
$ s# a" R; C8 K( |) D' r# На даный момент на сервере геодаты отсутсвует какая-либо авторизация(за ненадобностью).: f+ A, N3 R4 W+ ?2 T
# Если у вас мания взлома, то закрывайтесь на уровне операционной системы.
' `& U" j/ T' q/ c* q3 d# Ну или просите прикрутить SSL.5 q3 ~1 n" V  N+ {; S. R
#================================================= ================================================== ====
1 O, y: y  {" l" n, e/ V, W
5 O8 x$ B* H9 W# K: W9 I
- h5 n9 m$ A, O
# Включает/отключает геодату и поиск пути.5 O% g, y/ p0 p  \, }3 }' E% G1 g
# Рекомендуется включить. Требует наличия файлов геодаты в data/geodata.! {  `9 h5 r: n( \
# 0 = Геодата отключена.
! h/ i8 S* r6 m6 M3 v3 T. U# 1 = Геодата будет загружена в геймсервер.& l; K8 t. S: e1 y: K
# 2 = Гейм сервер перейдет в режим клиента, и будет пытатся подключится на указаный адрес, в то время как$ p+ [, M- w" o
# сервер геодаты сядет на указаный адрес. Для работы на выделеной машине с несколькими серверами1 G& D4 c4 n* y' i8 T" F$ G$ \: z
# рекомендуется гигабитный (и выше) лан. Среднее потребление траффика на осаде Адена = 400 Кbps на одного игрока,/ M! u5 C& g* i. N: |7 }
# с учетом активированных им гвардов. При обчной игре среднее потребеление до 200 Kbps на 1 игрока.
/ |) G1 K, c4 ?8 Y+ d  x2 jGeoData = 0! I) ~  z: k# V5 b. t. G) {& \
! @- I) w+ L+ ?9 ^9 A3 F
$ q* l: a* g" f
# Хост для сервера геодаты.; h5 J$ s5 n) Q% I' `: l3 N
# * Забиндит все интефейсы.! i# o; m6 {/ r# P1 j& Y
# Игнорируется при GeoData = 0 или GeoData = 1- Y; Q. r+ k) f$ N. ~
GeoServerHost = 127.0.0.16 z  x( i8 Q% g5 T6 ]  |
  d, K5 B3 U1 V, [; X1 k1 v

* c7 \6 d% T3 m% s; v& e# Куда будет пытатся коннектится клиент." r0 v( U# ~4 l
# Игнорируется при GeoData = 0 или GeoData = 13 x2 \3 {1 i0 V% T
GeoClientTargetHost = 127.0.0.1
: L' m$ z2 b- I- Q3 U( g- n3 @2 c4 X

2 a+ V2 J, N. C$ n/ b# Порт для геодаты.- z9 l: G9 A) W9 F7 V; k) m/ u
# Сервер откроет на нем сокет.
+ K+ i3 c( `' G; A' |) f# Клиент будет пытатся подключится к нему.# G- B7 N/ m6 Y; b
# Игнорируется при GeoData = 0 или GeoData = 1+ g# L, ]  {5 m, d" x! V; h
GeoPort = 90504 U0 T- Y" G. i* t; K2 Y; U6 X: X
4 V# ?/ ]- P5 K

( h8 ?- O! d- R: j7 n- F9 f0 t# Сглаживает путь.2 F% P, ~* _6 {6 B+ j
# Стоит отключать только для дебага.. H5 o6 ?+ h# g+ X% ]
PathClean = True5 {' P0 ^" x* P! S. b% l
+ Q9 k/ V; n4 u+ y, \

' u0 q" M5 Q+ O' l# Обрабатывать ли двери в геодате
) e* t% a, N( U& o1 T+ q- Y# Настройка влияет на ГеймСервер) M6 H: y/ h* V6 r7 U& F
AllowDoors = False. w( D7 l+ B8 v1 D# F  v7 K9 {

  ?4 u1 ~8 `: X3 ?. Q3 q% i

) K* d6 P2 A7 N8 O# \/ K7 C- ~PathFindingBoost = True
2 R9 [% v& r- V( {' t, X! q! g  u) HPathFindArea = 2503 H+ J+ B4 ]7 ?
Внимательно читаем,нам нужно это:# B; ?4 [- W! b7 O; c

/ @, `5 i) T* P1 [* @1 R2 m: M

8 _4 W1 `! O! W# m% ^
1 O$ b" f  R/ |. i- i( J, u; S
* g1 w# Q, ^# x3 U1 c
# Включает/отключает геодату и поиск пути.
9 A& P* h) G; x  V% A# Рекомендуется включить. Требует наличия файлов геодаты в data/geodata.0 E* a; n! c. M2 ?0 O, }$ g
# 0 = Геодата отключена.4 p6 A4 ?+ h" C- |
# 1 = Геодата будет загружена в геймсервер.; M4 F  C& b" G/ u8 y5 x
# 2 = Гейм сервер перейдет в режим клиента, и будет пытатся подключится на указаный адрес, в то время как8 b- S0 Y( T1 p/ A
# сервер геодаты сядет на указаный адрес. Для работы на выделеной машине с несколькими серверами, C( B! s1 U7 K  ], t3 @1 D3 t8 V
# рекомендуется гигабитный (и выше) лан. Среднее потребление траффика на осаде Адена = 400 Кbps на одного игрока,
1 T0 E0 D0 Q1 D* C6 f: K# с учетом активированных им гвардов. При обчной игре среднее потребеление до 200 Kbps на 1 игрока.
/ t# g, W  B0 P6 j9 [+ nGeoData = 0  w+ M- F9 u. Y

* \1 K9 W- y' F. f

' @9 S- ~/ `$ o2 U- P* n+ v
! k5 X" E, d" D* Y9 O
& a- v% _+ ^& U+ u6 w1 e6 W: r
В этом параметре меняем 0 на 1.
% }  J8 L3 \" v) O2 ставим в том случае если всё таки решили поставить геосервер,его настройки:
. p4 k( ]4 N& V) p5 L# Хост для сервера геодаты.& L8 J, o' n% b/ L3 |
# * Забиндит все интефейсы., {! O5 Y5 w5 i! z
# Игнорируется при GeoData = 0 или GeoData = 1
( F9 G2 w: t$ o2 w4 f  Y2 V# NGeoServerHost = 127.0.0.1( q+ b3 s2 |( [
( t/ M8 W* ]2 c5 p9 i7 P7 K
: J9 f- Q- f& U( D
# Куда будет пытатся коннектится клиент.
3 n8 M- ^" N# {, ^/ A# Игнорируется при GeoData = 0 или GeoData = 1
) X5 f3 R+ T* a1 d; i3 w5 s$ J& g! O  K+ PGeoClientTargetHost = 127.0.0.1
' O6 v, [3 {8 Z& z% x. }+ J7 |2 G0 J

- x# l9 d% M7 S! ~# L# Порт для геодаты.
) G7 t' U, L/ G9 u- r2 n- O# Сервер откроет на нем сокет.
- L: B+ w% ~* F' t2 t- A) m' j# Клиент будет пытатся подключится к нему.0 n5 w) x: m# l" c
# Игнорируется при GeoData = 0 или GeoData = 1% a$ B6 |' H9 l& _5 \( m
GeoPort = 9050& c6 _7 S8 `+ f0 j! V
Здесь всё ясно,можете зайти в "C:\L2Dream\geo" и увеличить выделяемой оперативки на геосервер изменением значений,StartGeoServer.bat:
( W( {: d7 B: D8 `7 j; m
0 i  o9 h! V7 M* _4 n0 ~0 H
& W) C- j' v) B7 Q( Z8 h% y3 U8 H

4 d! e; o- S7 ?0 v2 w0 G% |

5 K9 T: q( k" T! \7 {3 tjava -Xms512m -Xmx768m -cp l2dserver.jar l2d.game.geodata.network.geoserver.GeoServer
2 W$ J5 J! ?: w$ n# _- o: c% h3 T
* h9 s, f+ `1 \) p" [
6 U7 C! x8 J0 B; U

7 {- s5 K' q! _9 Q8 qДвери,можете включить если уверены что они у вас работают,так как их "непробиваемость" не во всех геодвижках реализовано:
8 n! K$ ]" K5 F: ^
: d6 c( E, B7 U% V0 v
4 A) o* K: J4 m9 T7 J

: i. x, S3 T0 l' S
5 R3 I! Z/ U# b7 L, S
# Обрабатывать ли двери в геодате9 G& E8 F8 O3 @& B8 L8 N/ q
# Настройка влияет на ГеймСервер4 T, i( b2 R* i; V0 f; H0 r
AllowDoors = True
6 Y, l2 V# b+ L. JТеперь sf,возьму как основу L2jServer,за всё время он не сильно изменился и не использовал геосервер.0 M$ ?+ Z9 q3 O4 R  C
Пути размещения файлов геодаты:6 S0 J  Y, H( @( a$ e& Z9 Z7 A" {" K# b

1 F4 y8 ]# h4 J  K5 P7 J  V1 I. E" d

$ E" f, s8 c, }C:\L2jServer\gameserver\data\geodata% L* V8 v8 D1 z1 j; F( b- S
3 g* x5 p  W% W8 t6 U; a9 x4 |
+ w" A* n! k( B" T2 m, t

, U* o, f* `- u' D

* Q7 i9 U# A6 `/ X! IИ патчнода:
# b0 u: j4 _3 z: B, z
% ^# S0 B) J* {. r* a+ y& `& P) V; }

2 x$ b6 A# W; PC:\L2jServer\gameserver\data\pathnode
! \2 l0 {* D4 t$ _+ @
: T6 a+ t2 A- v: J

$ z: x& m5 R, O! l# a; X9 r! p7 i4 e) y4 G5 Z0 X; E+ y

  t( m+ O/ z- G& \9 ]' k' hВ папке в месте с геодатой необходим файл geo_index.txt, в папке с пачнодом pn_index.txt,их содержимое должно быть абсолютно идентичным:
% ^; |4 b5 P$ H2 r" E0 j+ l+ e' w" o/ S1 A  G* Y# Z
) w1 x7 q9 F7 h( B$ d+ S

' a" z1 O) r' ~: ~  h% C8 @) J: u: z
! m/ z" P0 c& o$ q* l/ h
16_10, I" N2 l, h  H2 W' k
16_12& o" Q& m# O5 E+ b
16_18
+ e$ v4 Z' }3 q' y2 S6 s& w16_19& h1 @& t: O  ?. V$ B* f% _  R% `
16_20
0 h$ y/ z2 G8 n16_213 v7 c) t% ]5 g% y* \
16_24
) S2 U2 s2 ?1 I6 b- c% E16_25
& b, [$ [$ D: W+ K! i* v9 g) k7 L17_101 v! i% U) u6 `; @) c3 Q0 F
17_11
6 J( j  |- [5 i3 J% Q2 \4 e3 q4 T( ~17_15$ s4 B5 [* U8 M7 M, u& D1 |
17_16
1 u, f% g; }0 u/ m: |* z. G17_17
* V; R7 ~8 `, @17_19  u" U+ l: K( u# j5 |8 u; N# d
17_20
* n1 {5 v4 o5 b& d17_21
9 B; L; _# f% r3 s, @- Z4 |17_22
7 ~3 J# G! B5 ]1 u# S6 _1 r17_23
3 K$ E7 V7 O7 G5 \" I17_24) g7 H0 f+ O  L3 f9 M
17_255 ^2 z$ D7 H" F8 G
18_10, f1 }3 H( K5 I
18_11& g: o- n) C: [9 K# f2 S' @
18_14
3 {' v4 W1 e8 L9 @18_15
( s& c1 w& |. m* |: [( `* f) [18_16# M: ?5 T% i" a4 t( j1 r- n
18_19
6 S% J8 `* _# E: Y18_20, A- V5 w9 D% U3 R! d
18_216 `9 O% k$ d1 r9 P  }1 O1 u
18_22
. I& C# L. k* ]1 O/ e* D18_23' C9 E' G1 U. U
18_24& q# S% {8 `( T, h3 {4 K* z) _
18_25
9 F# r; O: w& j6 R" l2 |" V19_10
8 q- `6 a8 K0 |  c, p/ g  v5 L19_11- V! y) _+ i9 N# [. t
19_13
9 I& l& q$ O0 h$ X% T$ Q; S19_14
/ i0 e% x' x0 ^- c( x8 L19_159 \, {  M5 \; x0 p! J3 ^
19_16
2 c8 _0 P' a" _4 P19_17) p5 X9 Z+ k4 p) N9 v) e
19_18
# ?  S7 U% }' K" A/ C+ \19_19
+ |: o! b, Y! o- D19_20) o4 V! |2 y) Z) K3 k
19_21
! D- C. P9 |/ [$ J6 i+ r19_22/ h. z4 s9 n4 m* g. s( z7 i
19_23' @( m- \5 E* V6 b% u* |; v5 s
19_24
7 K( y! P$ O4 {5 ?; ^0 ^19_25
( ]1 \. w+ i; {$ T* U0 w19_26
) ~% j0 g. ]* `2 P20_10! _( U9 p6 U( @: a
20_11
) E, C. s' E) v! V3 Z20 _13
) ?. p7 f, D8 s0 J8 B20_14
7 S0 s8 ?  P3 L20_15
% Z7 w% C2 m9 G0 W- e9 O4 H20_16
( G4 L, G) i6 ]/ k4 F20_17
% j3 c/ I4 X0 l- R! r20_18; x) @0 o% G+ |3 m' y! M& y' n
20_19* w& T3 K" T4 l. Z; }% }1 N( p3 B) @  G
20_20
- x, R8 u$ H; B" A. C4 F20_21
. F+ o, t6 h5 Z0 S; W20_22( h! G( K  Y2 z
20_ 23- S6 Z* N' Z) J
20_24
% {* S( @8 s6 n. E20_25$ c# g) i' L3 d, T
20_26- [+ G/ L4 ?* P8 U7 O. A9 m% ?- t
21_113 e" e4 D9 t8 q6 f. H5 R$ A2 H: H
21_14: q- Z/ F7 U4 }# L9 |! [: r
21_15" s, \0 s; d0 P3 g6 C4 m# Z
21_167 K+ j6 c9 Q9 W/ r+ k
21_17# R* k# M8 H- \
21_18
. b$ q9 N% J+ A; @+ S- V% T+ Y; G8 w21_19
, H. t2 v" U$ o21_20
, i1 g3 g! V6 O+ t21_21
7 R- b$ \$ Z. ]7 e0 j2 s/ A$ z21_22- X8 B  G7 _2 v3 y6 @& r
21_23
4 x& O: P0 |( q8 o5 S2 Q21_24
* A2 |' y1 U' g5 J- T0 t21_25
  K- f+ S3 G( k6 H8 n& L* y0 l" w22_13
) P. E- Y3 q% Q2 `/ ?! U: R22_14
# G  K# \" R# B4 x- l- H1 z22_15
: ~% L6 M- i) [( P22_16; Z+ M" ^* I* }8 ]
22_172 {3 B2 X; ~2 Q, a9 k+ a* u
22_18
) Y( N  _1 l/ h( d3 J- c5 I22_19& s7 F- `+ Y2 A8 Q3 X- r
22_20% l: g  A" y4 x- {& |* n/ V
22_21
4 O" w2 D- M1 c$ Z8 q22_22
7 T( I) r" y$ Y% v+ N& \% ]; |4 {4 R22_23' Q( A% |2 T+ n6 `
22_24
( Y& q6 S! [) s  d22_25
  c# Y2 v, o1 C4 n23_11
' Y) B$ b3 ?4 r* e( F( y; D23_12
: y" |- y: k5 b! K+ s" q/ |: q23_132 X- Q" t5 t) }4 p# a) d* H* w
23_14, `6 D# P3 ?7 r# a* |
23_15
" ?& ?, x9 ^  m: a  Z0 [23_16
# }# M1 F* Z* e# t0 M; H23_17, @) M* d+ `! L7 `& i
23_18: R& w# \; |2 h! I+ Z/ n. c* \, F, F! j, b
23_19
5 L1 t- Y3 n+ ^( s23_20
% B4 s- {/ y) y8 ?. O+ X# M& l6 p23_21
) n! N7 _* x7 A" [4 s23_22- }* w0 t8 A& j" R9 y- y
23_23( m! E9 `/ I% N3 [; O
23_24
" }) v. B$ C, l* P" J23_25' E4 O/ G0 O- R- ^
24_11
9 T4 d, v, O1 V: A) t7 h7 i24_12' q8 S, B; K4 n( p0 P# _
24_13
' t7 F5 ?' @- h2 g! M24_14
3 c/ A* z  V6 U; H, h8 H24_15, h, `3 ~7 p) x  ]) I
24_16
6 |9 @/ u$ E; U8 S$ u24_17
! c/ o" Z" h1 I24_18
! \* c# Y# M, ~7 R( F8 A6 C- f24_19
5 S- p* c5 Y6 U0 `+ d7 V* T/ v24_20
9 s" W3 t8 x" b5 }9 N. K5 T8 j24_21
3 L; H# L- b$ A# M7 a6 y6 N24_22
; L4 s3 [2 e2 q4 @5 }: M& u24_234 J! S2 O- |: M: q8 W
24_24  p/ V1 Y. V/ C1 q
24_25( i$ d* t+ F" b1 P3 Z- o3 b$ b' `# Q
25_11
. |' s8 ~" D3 f0 @: L8 i25 _120 v7 S# @8 X  N3 _
25_144 v% q6 V2 S& D7 d3 U
25_15
( M3 O/ r! ?# Q+ Q" t; l25_16" ]5 Q: T) b- }- |/ M+ O/ v
25_17
2 k$ Z' G2 a5 T: u25_182 S$ y2 u2 f( @  h: s- K
25_19! O0 ?/ E- a$ s0 g% O
25_20
3 @& R! a- {9 w% x25_21
9 w: {8 H0 Z$ `% H' X25_23% Z: ~' N$ U, O
26_ 11+ Y% c, T, o1 s3 k# @- k" |
26_12+ ]) N8 F4 j/ h3 @& _3 Y" @" l
26_140 n! {. x8 `7 g

3 q! @6 x% t5 K! V) G4 e/ y
7 ?$ e8 V( G' P7 E( {, d9 U" d) P

2 B/ d, ], [1 B) Q5 l! s1 M
( h, p! ]* T( }- \! Q+ [
В этих файлах прописаны загружаемые геосервером квадраты геодаты,если содержание geo_index.txt и pn_index.txt не совпадает то при загрузке геодаты может вылезти ошибка,просмотрев лог ошибки увидите какого файла геодаты или пачнода не хватает.. C( d! q' \/ _4 t
Настройка,находим по пути "C:\L2jServer\gameserver\config" General.properties,нам нужен следующий раздел:
2 M2 \. I+ |# c) ]( t( f9 d#------------------------------------------------------------- --------------
$ r# t. d6 B' _. h# Geodata
# \6 y- A8 p3 G# C# ----------------------------------------------------------------------- ----
4 v8 Y/ `; a. j: W# GeoData options:5 P$ _! W/ e1 P4 g6 \; G6 ]
# 0 = GeoData and PathFinding OFF (default)
  l) H5 _5 P) Z& p, W# r# 1 = GeoData is used to check Line Of Sight (LOS) targeting and
  r6 E" y& z% f! a6 q. {2 `# L2Playable movement. You need to download files for data/geodata folder.' s6 ^4 t) Q' A8 a' S/ p
# Monsters can pass walls but not aggro (no line of sight) through them.' W# N; c7 ]2 i5 v  ^/ ^' R
# 2 = Full GeoData enabled. Includes PathFinding (requires also /data/pathnode
! @+ C' b# R/ Q' o- t. T# files if CellPathFinding not enabled) and all character moves go through
0 i+ ]+ p$ ^  l1 `3 Y6 A6 E* t# geodata checks (if a mob passes a wall, pathfinding didn't find a route/ X5 J+ `" T! t! E2 s$ s, C$ o0 x7 A
# but we allow attack and returning home).& a# g# s* k' W) {
# Recommended server memory minimum 2 GB, rather 3 GB.
. }% x4 ~- G) v) B# Default: 0, h, t4 v% h% @- |# k
GeoData = 0
7 q( z' \9 [8 F) r- @+ A& p! D) R5 |

" {3 P. g7 H) Z6 i5 b- Q: H# Cell-level pathfinding, produces more accurate routes but is (maybe 10x) heavier to calculate. Recommended for small servers at least.
  @! r3 ?" M' M! H, `! N) S" P# 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.; ^* ]3 m" ^. g
# Default: False
9 t8 @2 w) J; I% p. I0 @CellPathFinding = False( ]8 y, n/ L4 E3 f6 y& p
" [5 _8 O& j! K+ U  X

/ Y3 M8 H8 A, s; ^5 R# True = Loads GeoData buffer's content into physical memory.1 Y4 r  H# m' h
# False = Does not necessarily imply that the GeoData buffer's content is not resident in physical memory.' z4 e& G4 d2 J6 P8 M
# Default: True; i. R6 e2 C# T5 i$ K2 {
ForceGeodata = True% D. ]8 c2 X: v  l+ ?. m$ v7 F
0 m* C4 X  {, E! t. _4 t

! F. ]/ g$ K, V% h" E: ~( v" P& r1 ^# This setting controls Client <--> Server Player coordinates synchronization:" k" N" l/ R& F; T' X& g
# -1 - Will synchronize only Z from Client --> Server. Default when no geodata.2 l' `' I3 i  m, d$ N7 {; _9 d
# 1 - Synchronization Client --> Server only. Using this option (without geodata) makes it more difficult for players to bypass obstacles.
: B+ h4 [: S+ ~  R& @% s# 2 - Intended for geodata (at least with cell-level pathfinding, otherwise can you try -1).$ d/ L2 r. U3 Z+ C* T
# Server sends validation packet if client goes too far from server calculated coordinates.
9 Y7 ~" @% u7 b' M0 }# Default: -1
, W. m1 j5 r6 e, H) kCoordSynchronize = -1
) c3 k6 V- F9 A- C4 A& ~; K  l9 M1 V0 I; m
% X' ^' I9 l' B9 h( ]1 w

, \$ m9 ]9 G6 e4 d/ h

& l& ?; A4 m# ]4 _! \% iGeoData = 0* Y' z8 c4 `! H
# g' ^3 j4 ^% L$ f1 r3 P
  c4 _4 p8 ~  w  v0 V7 G' X! f5 n
; x! E6 L, O. [& x

* l. s% }' ?5 FСтавим 1 если нас только геодата,пачнод отсутствует.В этом случае мы получаем только то что агрессивные мобы не будут на нас кидаться,персы утыкаясь в стену не будут буксовать,а просто остановятся,но мобы если вы завернули за угол будут вас всё равно "видеть" и ломиться к вам через стену.( r3 j/ ~+ B) Q
Ставим 2 если пачнод присутствует, так же включаем эту настройку:3 l8 z* V. r" W2 c  i
; C2 U9 ~# V, Z7 T

# ]: }1 Y# a& o7 H5 ]8 f  y4 `* K& y' E% V0 j

' q; }  u0 D) c  w6 ]4 w* {+ s# Cell-level pathfinding, produces more accurate routes but is (maybe 10x) heavier to calculate. Recommended for small servers at least.: @' \; I# w2 M$ H, [' V, k
# 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.
3 T2 i0 ]! g1 Y8 @/ h# Default: False2 |7 K4 s8 ]2 Z: _  e, v1 ]
CellPathFinding = False
) S: k1 I4 ^& S) O! L  p1 i- d+ R+ J0 E. [- ~0 T! T) b0 z& A  g

  M7 B/ r8 o0 E3 L  T; \2 x
6 y" @' t% i1 F# H9 }4 T8 y& W

' f! F6 O: E, [' f8 T! x  e' KСтавим True если хотим более сглаженную работу пачнода,но нагрузка на сервер немного возрастёт,если нет то ничего не меняем.  ~  b3 C" e  w$ ^$ ?; p
Пожалуй всё подробно написал, спецы дополняем если что то не учел.+ F1 ~; [; _" r. u2 C5 p- z/ @

& B  M% U/ @0 ]5 A
1 E, e8 ~3 H. c0 k9 P
Не забывайте что если вы изменили конфиги при запущенном сервере,то они вступят в силу только после перезапуска сборки.- p/ I6 y5 [1 B" }/ W+ A

0 d. L2 }* I2 _И строки начинающиеся с "#" никакого значения не имеют, это просто комментарий или один из неактивных вариантов конфигурации.
" v- }9 ^3 E5 \, p7 R' B) p2 u5 M% O( \. j9 j1 A1 F





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