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; R6 Y  K# l, {: e
Сборка        L2 Java: z8 v& r9 r' M! z
4 Y9 O3 u( \3 z2 u1 F$ Q+ ?
. p, O8 v$ q6 K+ p' [: O# b
Доброго времени суток.5 x! G* C8 d- A$ u' M
# k. g9 |) q. \+ _: E

. k. @+ \, n6 z' aЧасто появляются вопросы на "стёртую до бороды" тему геодаты, зачем она нужна, какая есть и куда пихать. Пример будет на хрониках Interlude:1 k% A. g8 f: K! V! Y
Возьмём две основные *_conv.dat и *.l2j, первую отбросим так как этот формат для ОФФ-серверов,хотя есть реализации в яве и этого формата.
/ }1 l  f9 f0 z  v* R2 HДля чего она? Для мобов не существует стен как в принципе и для чаров, упёршись в стену и буксуя на месте вы всё таки меняете свои координаты, мобы проскакивают их шустрее.
* Y9 U7 F: m1 E( K3 |4 {По скольку для мобов мир - ровное плато, агрессивные вас заметят и атакуют если окажетесь в их радиусе даже если находитесь за стеной и не видите их. Геодата поможет вам от этого избавиться, если сказать короче геодата - информация о всех препятствиях имеющихся в клиенте игры. Поэтому геодата существует для разных хроник, геодата интерлюда будет считаться не полной для грации к примеру.
- n, G" i) C2 {; l, j* u4 g7 K8 c9 U# `9 J" e, c) D: }' Q
Вся карта мира разделена на квадраты,они пронумерованы,благодаря этому вы сможете определить какой квадрат отвечает за конкретную область:9 [1 p" l+ i% u
[attach]495[/attach]
; o  k, w* z9 ~  i# a) h
2 _: \. U1 R  n; o, J
На картинке отмечена только поверхность,подземелья не отмечены как и материк Хеллбонда, но это не значит что квадраты пустые.В клиенте квадраты находятся в папке MAPS и пустые весят от остальных одинаково.. a8 S. _  ?1 D. k9 K  p6 V) }
Геодаты в шаре полно и она разного качества, подбирайте ту которая будет корректно работать на вашей сборке. Если в квадрате есть косяки, к примеру невидимые преграды,или не можете пройти в открытые двери или ворота,то это не причина менять его на другой,существует софт для редактирования гео и невидимую перегородку можно убрать, но это отдельная тема...
. q3 S* c# S8 G! M0 J7 J  NРабота геодаты зависит еще и от гео-движка сборки - неотъемлемой составной части ядра этой сборки,так что не путайтесь с определениями что бы других не путать,геодата и геодвиг разные вещи.
& S. F+ D4 ~0 E) c; T6 f2 wУ разных команд делающие эмуляторы разного качества гео-движки поэтому не всякая гео подойдёт к сборкам каких либо команд на 100%, чей геодвиг качественней решайте сами,тестируйте, темы "что лучше" для флуда.
% s4 f+ d7 J9 P: D' U6 f. f& P+ V. u, v$ ?& d7 G' V" `1 U: i

) F+ a! f5 \, R, \Что такое pathnode? Отличная штука, благодаря этой приблуде мобы у вас при агре не будут ломиться сквозь стены, они их будут оббегать как и сам персонаж, создаётся пачнод определённым софтом с квадрата геодаты и его качество зависит от этого квадрата.Расширение пачнода - *.pn.! l3 L; {" @, {' Z7 }$ ~6 |
Количество файлов пачнода должно быть равно количеству файлов геодаты.  k2 y. ^( z0 s& o, S  O
Есть сборки на основе команды Rebellion (а точнее Fortress), такие как L2Dream, L2f ССР, Phoenix, L2Royal извиняюсь если кого забыл, у таких сборок есть возможность поставить геодвижёк на отдельную машину что бы разгрузить основной игровой сервер,но использовать не советую поскольку не доделаны, хотя возможно в платных геосервер уже реализован на 100%.$ B9 m% p$ E4 v3 S% J
Таким сборкам пачнод не требуется, их геодвиг генерирует его в процессе работы,сомневаюсь что это хорошее решение,но и не плохо с другой стороны, кому как,по мне так геодвиг sf в полне нормальный.# S- z: C$ t3 }) p( L9 d, U/ E4 m
Сборки sf,это L2jServer - первые кто написал ява эмулятор,также L2jFree, L2Emu, L2Ambrella и др. на их основе, так же можно причислить Balancer (Fortress с которого основался Rebellion),но ему пачнод уже не требовался. Был отрезок времени когда эти команды использовали внешний геосервер (кроме L2jServer), но позже от него похоже отказались.
6 s5 r) e$ Q1 L7 a. h5 O% hТаким сборкам неоходима геодата + пачнод,для комфортной игры вашим клиентам.
1 |* s5 e/ i5 t# R6 C4 b: lУстановка геодаты на сборки без пачнода (Rebelion):5 r( Z4 W% G: T2 K: R$ m
Покажу на примере L2Dream.: E7 l- T$ T2 ]
Путь куда закинуть гео,сами файлы ( пути и папки могут отличаться, в зависимости от сборок) *.l2j:
- P* ?1 o. I1 U7 N' n/ l
7 t% {  M( K& Q3 S5 W
1 P0 W+ M  P& h% x
C:\L2Dream\game\data\geodata
" N9 k( q7 y  ^. B4 |! P7 X& ^, V3 [: z
0 o5 W( x9 w+ G) b% R  Y( z
2 {$ s. q" b1 N. [( _& b8 i) s

" x) M) ?8 q, CНе в "C:\L2Dream\geo\data\geodata"(это и есть внешний геосервер),а именно по тому пути что указал.
, u) V7 F. h2 X% HНастройка.
  r! c0 X2 I5 q2 {1 ZИдем по пути "C:\L2Dream\game\config",нам нужен geodata.ini или geodata.properties:% o4 R$ E1 E2 E( T' [* S& Y+ m
#================================================= ================================================== ====
- c$ b* u* n" ~1 I6 I/ p: P# Даный файл является конфигуратором геодаты.
  A& O  a- t( f0 c/ }+ ]5 ~% n#* C2 ?4 r$ m. D4 J7 A9 q7 R1 X
# Геодату можно отключить, запустить в классическом режиме на гейм сервере, а также запустить как выделеный сервер геодаты.7 d* ]+ b2 K5 W  O) S& U& r$ T% z
#
0 h# j' J# {" d5 @8 o3 r7 p9 |. S# На даный момент на сервере геодаты отсутсвует какая-либо авторизация(за ненадобностью).
) H; U2 V& E$ ]) ^5 T# Если у вас мания взлома, то закрывайтесь на уровне операционной системы.
) t  ]" y9 ]  _3 k2 e: F# Ну или просите прикрутить SSL.
$ d) \! I1 d8 D* \8 N#================================================= ================================================== ====+ P; Q$ s6 N, Q$ o7 R
. p$ x- L4 T+ X' `6 Q6 ~' O

0 y1 U4 W6 J: Q+ k4 U# Включает/отключает геодату и поиск пути.
  S! n$ J! |/ G( g: }# Рекомендуется включить. Требует наличия файлов геодаты в data/geodata.
4 v, j) K* Q* H/ B4 v/ h+ C% `# 0 = Геодата отключена.
! _/ Z1 j3 t# Z9 x& A0 o# g# 1 = Геодата будет загружена в геймсервер.
! R) i: T4 o5 X7 D( R# 2 = Гейм сервер перейдет в режим клиента, и будет пытатся подключится на указаный адрес, в то время как3 P& h' }! ?' j
# сервер геодаты сядет на указаный адрес. Для работы на выделеной машине с несколькими серверами
& n6 X: \2 Z5 \) v/ ~# рекомендуется гигабитный (и выше) лан. Среднее потребление траффика на осаде Адена = 400 Кbps на одного игрока,
% d, o2 a: i! a# с учетом активированных им гвардов. При обчной игре среднее потребеление до 200 Kbps на 1 игрока.
7 M" |! l1 H+ X4 I/ k! NGeoData = 0( j6 }& U" r4 u4 _3 {
# K5 r3 y1 q, y7 k7 m# R

; H7 B" T. V* x" \3 S! O" Y# Хост для сервера геодаты.. D" o. g, s& g/ Y3 ?" T; ?
# * Забиндит все интефейсы.
0 @$ p: B5 N6 ]7 V& U( V% |  \# Игнорируется при GeoData = 0 или GeoData = 1- |2 A8 J6 x1 E8 |# r3 G
GeoServerHost = 127.0.0.1
0 s# a6 {* l0 Z' M" ]2 t# O1 d4 ~! [& e# T; J2 g+ P( p

" [& K' l4 M/ F$ a" x# Куда будет пытатся коннектится клиент.$ J3 _/ d4 S4 M. g  c# B
# Игнорируется при GeoData = 0 или GeoData = 1
7 S8 ]+ m' Q, [$ s! W& f% n% s2 zGeoClientTargetHost = 127.0.0.1
" ?3 m3 t; N: S) ~/ {6 a( U, T8 D& `( @& I9 }" c. H
* H0 K' S9 @: t9 N
# Порт для геодаты.
" S8 g: P* B" d% q+ u# Сервер откроет на нем сокет.5 _8 P4 y/ Z2 `
# Клиент будет пытатся подключится к нему.
/ M9 z+ N+ ^2 u8 W1 ~' Z; H# Игнорируется при GeoData = 0 или GeoData = 1" O/ f7 D- k. f, ^+ z
GeoPort = 9050- r( u6 J+ J. j8 N  V' W
, m9 |0 B- N- _2 U, p0 `# C- ~
1 d9 w: q  ~" L, c( H& e, h8 d
# Сглаживает путь.
, Y; ^, k* X  f$ ?/ h# Стоит отключать только для дебага.
- A: C# X1 P- q8 {0 gPathClean = True$ g7 Z3 w" m" {3 A# L" F
8 D) B; y" j3 U
- I- G* B1 n: S, [+ I
# Обрабатывать ли двери в геодате( W2 z/ H. d% u2 g
# Настройка влияет на ГеймСервер3 Z5 k) r% a1 q
AllowDoors = False
+ O: T7 I$ L1 J# I4 O7 k3 z) b$ a& B6 C$ v1 Q- Q0 e. w

( V4 Y7 |% g8 p# g  P6 \* DPathFindingBoost = True1 E6 p' q5 h8 \6 W% n' S
PathFindArea = 250+ H2 L1 P3 Z. x6 x) _
Внимательно читаем,нам нужно это:: u% P- t! k6 `' p0 s

8 V/ r: X* [$ w+ o' A& s

3 e" @% S8 e' u- F8 Q8 M- M9 V0 @7 ^0 n" F5 V

3 L; B+ S- V: V+ A+ D# Включает/отключает геодату и поиск пути.
! b! @# R. M$ g1 P2 a, @  h% l# Рекомендуется включить. Требует наличия файлов геодаты в data/geodata.
! ^, D4 v* `& b& Z# 0 = Геодата отключена., t- Z5 \' M! x
# 1 = Геодата будет загружена в геймсервер.
. w& k* x" \* e1 @4 L# 2 = Гейм сервер перейдет в режим клиента, и будет пытатся подключится на указаный адрес, в то время как
: A. x3 Q0 W( w# сервер геодаты сядет на указаный адрес. Для работы на выделеной машине с несколькими серверами! p) H. _1 k. C
# рекомендуется гигабитный (и выше) лан. Среднее потребление траффика на осаде Адена = 400 Кbps на одного игрока,* }- e9 S8 a2 R/ ^" r) ^. U# K5 a# U
# с учетом активированных им гвардов. При обчной игре среднее потребеление до 200 Kbps на 1 игрока.
1 w* Z* s. K8 ~7 M2 V1 W3 r3 I- RGeoData = 0
! c) P% e0 c9 i( B
9 }  u5 q" P1 d( n' e

2 ?- I; @# n' Z" S# v* @& H1 M: q  D. e$ \  D) h" z) K) t9 u

' I/ E: @6 X$ \+ k, W9 H# jВ этом параметре меняем 0 на 1.- Z$ M, m8 U" ]' T
2 ставим в том случае если всё таки решили поставить геосервер,его настройки:
9 \; E4 W( H: x2 E: |6 G# Хост для сервера геодаты.
, J2 Z+ g8 ~5 F  T' g$ H# * Забиндит все интефейсы.
$ Q( Q/ x/ K. n7 p' n$ m# Игнорируется при GeoData = 0 или GeoData = 1
0 Q7 q' ^7 n7 i1 G/ t9 R: bGeoServerHost = 127.0.0.1$ b- m1 E7 f$ F, o0 `! M

$ V1 C  R5 z) Y3 v! ~  N9 ?
! E. x) l# y: }, {" K: E+ @3 ~
# Куда будет пытатся коннектится клиент.
7 B# |" O; X, S: C/ h  ^6 m# Игнорируется при GeoData = 0 или GeoData = 1, ]: B7 U0 ?: i+ z
GeoClientTargetHost = 127.0.0.1$ e  E/ g0 q9 i9 a5 K
! R: a: d2 f5 C% Q( g/ Y
; k5 r  x8 e9 `" E
# Порт для геодаты.; H- U0 p6 H' I: ~2 U& a" E8 K
# Сервер откроет на нем сокет.7 i/ N: _4 \+ C  }! @0 u
# Клиент будет пытатся подключится к нему.9 V$ U2 s7 L2 L* ?& W
# Игнорируется при GeoData = 0 или GeoData = 1
9 I. M! g3 y8 \% ~5 o7 `GeoPort = 9050$ [" e. b; Z5 L7 C5 m
Здесь всё ясно,можете зайти в "C:\L2Dream\geo" и увеличить выделяемой оперативки на геосервер изменением значений,StartGeoServer.bat:
* \, J- ?# Z$ I/ R0 D" z9 C, O( ^3 S7 W9 a- O( n* U/ R

: p1 J6 t; y5 Z
* I# }! v% a9 L( \7 m1 O
- Q  k" N6 f# T0 T8 x$ Q
java -Xms512m -Xmx768m -cp l2dserver.jar l2d.game.geodata.network.geoserver.GeoServer
; Q7 P4 U: C& [* a# e: F3 N) E6 Y& b: K$ K7 }. k. A; P

- U- x) ~, T. n
/ l4 j; F2 g& P8 D
3 F* d0 o( A+ [, H9 v" X) f
Двери,можете включить если уверены что они у вас работают,так как их "непробиваемость" не во всех геодвижках реализовано:) G) _% w" l8 H4 H# m$ {

4 H4 u8 `! z+ O6 @2 t+ s6 \4 C
' L$ t* _/ F/ V

" v. d2 K, G. v. v
3 T0 p5 i5 t( [- Y
# Обрабатывать ли двери в геодате6 e' s6 p& F& u( l- V/ w- O
# Настройка влияет на ГеймСервер& o, v0 @6 F, P" {9 o
AllowDoors = True
, d- d( ^; o; m% i7 ~  b0 I& ZТеперь sf,возьму как основу L2jServer,за всё время он не сильно изменился и не использовал геосервер.
9 l# w3 ^9 T; ^7 VПути размещения файлов геодаты:
% ^" a  D4 `6 c+ f& D# h0 L& I' ~6 D- Y/ S0 n/ W) p

/ X/ Z- y" W9 n" e: zC:\L2jServer\gameserver\data\geodata
9 @3 W) M6 B9 C. ?1 M
- ^3 B5 s/ b$ Z) k5 U, @
3 K: f+ d% M- N* C) H/ ~$ J
9 h! Y$ H! z# _8 a) L
3 A" X  T5 i- N0 c  K7 _  q. u1 A
И патчнода:! j1 e8 ], a4 G  Q7 }6 x

, P8 z9 Y, a- R% q+ a3 h

! A8 o+ _2 }0 G. i/ X9 s. pC:\L2jServer\gameserver\data\pathnode9 W$ |" V' ~- B

  }+ a; g" o9 `# L
8 ]6 e1 @% |" }: [0 A

" y! l, s! ?( z

+ s* B/ q- s: k" z9 G0 ~5 r+ vВ папке в месте с геодатой необходим файл geo_index.txt, в папке с пачнодом pn_index.txt,их содержимое должно быть абсолютно идентичным:. d# k0 ]" y5 y* ?/ o$ Q' s

5 N) ?! N& @9 O- ~
4 L; l! o4 B9 ?$ \! [9 ^: x
& O, _- a( z7 H; I2 B6 h2 X! B

4 n% l5 K5 L2 ]) f16_10
% _3 f+ V4 a- W; `! [9 n! C16_12
/ g/ U6 G) u1 w: j2 v16_18
& g) ]: {9 n# U# a9 I16_19( A( \& x$ J/ h; Z1 X
16_20  c# {2 F: h) |( U, r8 `) B( k
16_21
# E  N/ U! D* E7 k& C16_24
. C8 [' k8 r8 x+ m16_25
) U4 x, s" B4 ~3 F) t- T+ b" N17_10' P1 ]6 j% V' C" T8 W
17_11( k4 l) l7 M) R* s
17_150 l# G' D) r' [! x; Z
17_16
$ H$ s/ d) K' l7 {, d# K$ @$ u* d17_17
& j9 E. t8 J3 E  Z7 u17_19: K) o) @5 ^. V7 k0 o6 s
17_20' c* K+ Z& P. @, X" m) r: g+ `
17_21
3 E: S- A+ B/ _( Q2 d3 p17_222 ]" c+ }9 K" L' B) D' o( f
17_23
4 i7 ^* K+ a1 l2 K- G17_245 U: P5 j! ^8 M+ x5 T, y+ I
17_25
0 W: B% F- m1 w' F( q18_10
' o0 {" u  g: Q. |! M  i& f18_11- g, v5 q. J4 ?8 N) m# D
18_14
9 B8 e0 t8 B, C$ T1 @18_15
+ e# x  I- G# R6 o8 C0 g6 @# n18_16
& x5 R  a7 D, a- v% ~2 d! E18_19
7 x9 H8 D: _* v+ V2 \18_20
8 a0 f% A$ ^9 t18_21; ?# ^. ^) z# E3 F7 N
18_22
/ W1 L, N8 z# Y* O18_23
7 j7 `  Q7 x! N6 ~1 `# Y18_24' T  M: d! a& f
18_254 q( \1 S3 p5 A' N! D
19_10, p8 s$ p: {1 S$ V2 ~# q( D) j
19_11  O- F, P; Q/ Q2 ^" s; o( U( a
19_135 j, e& }8 C: g( F/ d$ V! v
19_14' I( U9 _/ S. n- @6 M- m% Z
19_15
( p$ ^: |' |# a1 f19_165 ~( C1 B8 _9 X0 m
19_17
  n2 H* o, @% c8 n% n" Q19_18
, H! A. o% C( x: R" k/ M19_19! }  d, X3 n2 N
19_20
, m' ?3 ~1 H9 m: t( H4 \+ q5 g19_21% J& v" I, v/ Q0 b  e
19_229 y! s, a" x+ o" x" f5 O! \
19_23
4 G' p5 C4 ]* g$ a19_24
) T! v4 ~5 J5 k" W19_25
9 E. ^& I6 m8 p8 j' B19_26
9 w7 o3 b+ k) ~) J9 ^20_10- N! b1 o7 }4 M1 k, A& k; p
20_11
/ |( G5 ?: V0 y: m4 X: S" T4 n3 v20 _13
) P; }  r' o* g0 F0 I" w6 d7 T! Z20_140 a# k+ M! k, x3 c9 ^- Q* z
20_15
" v0 t* l, \" m20_162 _# k2 ]: a. B7 ]2 e; D) N) m
20_17
) ^5 ?% i4 G4 x. n  r2 o20_182 Q6 @/ T- x: s% I* k; I1 r+ ]
20_19# E$ C$ J" n) f; v
20_20& M3 s, P2 y* [5 \- R& l6 b5 }- b
20_21
  U: ^! i/ M+ {3 o* L20_22
( V& v" N! O/ \& y5 Q20_ 23
- T6 l4 m1 s( E4 }, o20_245 j" m9 _0 d2 E
20_25) D/ w1 k6 b3 [" o7 k/ s5 o" T  t- P
20_26
. u! l# S3 M1 J21_11
  H. V1 j& V& N. ^( d( _; a21_14+ m; v! a- Q+ `2 {3 Y6 z
21_15
3 u$ n3 Z. K0 ^* Q2 K# _5 q: I21_16
6 n, P( m% r. r" H4 K21_17
9 Y1 U# o& Q- ~) {21_18
' H8 N9 V. o; o) d21_19
( f: F6 ?; I7 T" @9 O/ i- \21_20
; x/ v0 G" O, s  |21_21/ M* A. v2 r3 g2 \
21_22
5 v" n. {2 x5 B" o8 B0 P  Z1 u" l9 q21_23
3 ?: d7 l( \0 a! a21_24
. e) ]( f: i! K' o: h( \6 r" E21_25
; [. g/ R# o1 N! S22_13
$ ^8 K: z# ^3 q( X) X- {; a22_14" }$ K8 e8 h8 L/ J. f$ |/ n, S
22_15
( S) B1 l7 {  X  q4 X/ E22_16# ~) K* F2 {- S' d" I2 t1 G
22_17
% r5 z( G8 j* Q22_18
/ N1 h8 Y# ?  m! I5 U0 V' Q: m22_19$ L- J3 w0 E7 N5 R# m
22_20
' |, c. \3 h' p' r22_218 }6 t3 n* o, |- W6 N* ?; Z* Q
22_22, r/ L7 C0 `* Y8 A
22_23
6 z, D' G9 x$ Q22_244 ]3 m' Z% {% X4 c$ P8 ?3 ~% ~
22_25( v. [4 ?" b9 D0 \6 a5 R. Q* {. f; }
23_11
9 b6 G+ r6 J) n- l. i23_123 L2 R% H' l# E; `: X* S
23_13" V* K7 f. q# F! j" S4 S
23_14
* [: ?6 {9 ~/ z- }5 e23_15
: M: l  t8 \) ~7 d6 G" X' n, B23_165 g3 Y0 R! \0 F8 L" R
23_17
- y2 A/ O8 Z0 u% c0 ?1 b23_18
( R9 N7 ?$ h! x% n23_19
5 I( t) W+ z& F3 y" ?9 X5 x! U" v23_20
: \1 {: z( S; x6 a. X, s23_219 M( Z5 P' y, Z( W
23_22
0 a0 e6 R* \9 Z9 Y  F, k) Q# ^$ ]23_23
! k2 y: i/ U9 J' i6 ]; w: a& {1 g" e6 ?0 k23_24* h& y0 ^6 Z2 w3 a! i
23_25
! t% t& `' q( Z7 h2 j24_11
4 W9 _1 H3 y" `24_12- @! z# Z' m  }$ x
24_13
1 X8 m) |1 J& W' x: a+ C9 u; A* s; T24_14" _0 ?% b& Q- i) N: Q
24_15
- n' P1 j$ u: G! L24_16
& v! X0 m0 g8 P; i" t: n# |2 |/ A6 s24_17
. ^$ u& X9 E- n. Q$ S+ K, K24_18
# y* j2 h) l/ p9 c) j24_19) c" R" J4 ?* r+ Q6 j0 _
24_203 z* p4 m3 }5 {8 r* z! e
24_21+ W- V1 p6 z3 }6 d
24_22
3 B5 v6 T3 ~; P% Z; E, q24_23
! y, y' `! u3 [3 h( H24_24
, H0 s4 i. B7 O6 M" L+ Q! v24_25
2 q, i# e- c; r1 z0 v) l9 B+ k25_11
; X) Q( E* z# M, x8 P# B25 _12
% b( J  [/ E3 o  [25_14( s0 @: f7 L- F( ?4 |. [
25_15  X7 H+ |; {7 O) _9 ?: p& I# v
25_16
4 Z/ {% s) B" j, O0 X5 S25_179 a5 g% Z6 i  H
25_18
0 `  I# P0 b( @" `7 F5 Z, o( @25_197 C3 _1 v6 D' z5 m
25_203 J8 E- {# L9 D9 ~, @
25_21
& Z# Y: z" q5 V$ m* a3 N4 Z) |  u25_23
$ p" u3 [: z; [0 ^26_ 11
9 V+ {( N0 u' @; k) o9 Z3 z' x8 H- {4 I. i26_12
' F* K1 P& y. v26_14
$ b. l& ]! R! n! A( z) n
* D$ B% L/ n7 I+ e% b
! r: o- q. `$ \6 d

7 @" }- U$ `! v% h' w
6 D( G4 Y0 v/ g3 m
В этих файлах прописаны загружаемые геосервером квадраты геодаты,если содержание geo_index.txt и pn_index.txt не совпадает то при загрузке геодаты может вылезти ошибка,просмотрев лог ошибки увидите какого файла геодаты или пачнода не хватает.
5 N$ }0 v5 a* e1 _1 GНастройка,находим по пути "C:\L2jServer\gameserver\config" General.properties,нам нужен следующий раздел:
' E; z% S! R0 U+ A#------------------------------------------------------------- --------------. J& Y0 ]* l! G7 _' J, P
# Geodata# Z1 i5 W/ f" M6 ]" B. ?
# ----------------------------------------------------------------------- ----
, z% z4 M( I; M7 J$ s# GeoData options:+ T0 S- C" y& @# u
# 0 = GeoData and PathFinding OFF (default)
1 _4 }  A  s. E2 A! F9 J  W# 1 = GeoData is used to check Line Of Sight (LOS) targeting and
. `0 L- ?* X# N5 G) R7 M; n# L2Playable movement. You need to download files for data/geodata folder.! z( G+ h# {- {, P) N
# Monsters can pass walls but not aggro (no line of sight) through them.
& w$ w. A* m0 x* Y% k; F6 z' ~# 2 = Full GeoData enabled. Includes PathFinding (requires also /data/pathnode# u; V1 t: T( u0 M. I: {& Z% a
# files if CellPathFinding not enabled) and all character moves go through
& r* J$ f8 B+ I( M: o* \( C# u, B# geodata checks (if a mob passes a wall, pathfinding didn't find a route
% O5 p  P9 A+ S- J/ H9 E# but we allow attack and returning home).2 h4 R! L  V6 X) n, C4 @6 T
# Recommended server memory minimum 2 GB, rather 3 GB.5 R) q9 q! K6 K4 A
# Default: 0
! y1 c8 e' w3 IGeoData = 0
( V$ s7 H* i% D' j7 w5 P$ H
/ {2 H+ h" I1 {
0 D0 b. }$ k8 ~. U4 n+ Y
# Cell-level pathfinding, produces more accurate routes but is (maybe 10x) heavier to calculate. Recommended for small servers at least.
/ A$ g6 j  G, y, |5 L0 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.5 F2 V" S" ^$ @3 E- H" a; _
# Default: False
7 r% C1 g! E! l0 x+ F1 a: FCellPathFinding = False3 }! K9 f4 t" Y. P* B# M! O
) F% M6 l2 m2 x( ^1 ]5 K' x

, w0 u& ~3 `/ ~* v9 B# True = Loads GeoData buffer's content into physical memory.
1 S; \6 r( i8 K4 z0 r# False = Does not necessarily imply that the GeoData buffer's content is not resident in physical memory.* |! l  B1 W" X# X
# Default: True
. p7 }) Y( }5 j" W( h/ p9 WForceGeodata = True- S  c+ c4 a3 _2 S/ h7 }/ F
% h  p* A% y/ R& B. D$ U0 X

# Z2 ?2 G% M4 H3 p8 Y# This setting controls Client <--> Server Player coordinates synchronization:+ K: q$ `+ t  j( }$ t  R* L
# -1 - Will synchronize only Z from Client --> Server. Default when no geodata.
5 b2 P7 Z8 v8 p. u/ U# 1 - Synchronization Client --> Server only. Using this option (without geodata) makes it more difficult for players to bypass obstacles.1 k' p+ m+ Z. I7 n/ Q, d4 L
# 2 - Intended for geodata (at least with cell-level pathfinding, otherwise can you try -1).- `  @& x# D) v' S
# Server sends validation packet if client goes too far from server calculated coordinates.
* O+ W+ H( G; G3 i# Default: -1
6 j( P! L7 x. i% y$ XCoordSynchronize = -17 R# P, i$ a+ `0 }" T3 P

- O* k8 `7 V( W( `" Z7 g* g- P
: F  C& {% F5 o2 P
0 ]/ D& i! `  ^. ?7 j0 ~8 [

2 W" H1 Z' u0 n- y  j  CGeoData = 0
3 B: Q( z* b1 X2 r& o  b8 r/ Z3 O: J  E9 Q
+ ^) F6 G: a9 z, E( Q8 M9 i
" k8 d, P$ T, Z
- p5 ?! f- k$ c. p& t2 j/ z0 o
Ставим 1 если нас только геодата,пачнод отсутствует.В этом случае мы получаем только то что агрессивные мобы не будут на нас кидаться,персы утыкаясь в стену не будут буксовать,а просто остановятся,но мобы если вы завернули за угол будут вас всё равно "видеть" и ломиться к вам через стену./ r8 _! ^! w7 Q1 L# w
Ставим 2 если пачнод присутствует, так же включаем эту настройку:6 P3 ^( Y4 P0 H/ Y, o
% e, }% p5 q; ~4 n
( L7 D, M+ G" z0 \" T" r

* H$ ^5 j3 B. n$ W' P
+ V! d/ U3 F' ^
# Cell-level pathfinding, produces more accurate routes but is (maybe 10x) heavier to calculate. Recommended for small servers at least.
5 k/ G( r( T( i' _: V7 k3 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.
& y! m: {/ o: E. Q2 ]# Default: False& w/ V  l& b+ _% S1 C
CellPathFinding = False
' c. E. W$ i/ r% Q! H" D
: I0 X+ z5 f  ^( s, ?4 B, U* }
* j/ s8 S5 \% j) _  E6 `

% Y5 M9 m  r" ^+ h3 I% H
/ u. K4 M- ^. }  o: Y$ z
Ставим True если хотим более сглаженную работу пачнода,но нагрузка на сервер немного возрастёт,если нет то ничего не меняем.
& l  T# S3 h9 z- G  B/ XПожалуй всё подробно написал, спецы дополняем если что то не учел.
5 Q$ z/ I+ E" Z& L4 o+ p; G4 F# Z( Q/ g/ U
1 J* b; K  c/ i+ B" B7 D  V# l
Не забывайте что если вы изменили конфиги при запущенном сервере,то они вступят в силу только после перезапуска сборки.# Z9 B- I: Y  X) O4 \" ~

  H- f5 v  W$ R- RИ строки начинающиеся с "#" никакого значения не имеют, это просто комментарий или один из неактивных вариантов конфигурации.' w. k; V4 W/ y1 F, Z4 W
" @. x, s. o: ]





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