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
0 E, p' J3 A& T3 sСборка        L2 Java
' @, K- [  V- E1 v  a! n/ P4 k2 I2 m) w: S8 C3 ~% H. ]; [$ X& n
+ B) a; c% \: y( I2 t
Доброго времени суток.# P, [0 e5 e+ b6 n" Z. ~, V

3 {3 R+ E5 C* j" K% ~

' q, M' C5 A  g' y# YЧасто появляются вопросы на "стёртую до бороды" тему геодаты, зачем она нужна, какая есть и куда пихать. Пример будет на хрониках Interlude:. r1 F! d1 q) C4 ]0 A# i1 e
Возьмём две основные *_conv.dat и *.l2j, первую отбросим так как этот формат для ОФФ-серверов,хотя есть реализации в яве и этого формата.
1 {& b2 A: S9 M, sДля чего она? Для мобов не существует стен как в принципе и для чаров, упёршись в стену и буксуя на месте вы всё таки меняете свои координаты, мобы проскакивают их шустрее.7 `# ^, X" Y4 b8 K' `+ Q1 Q
По скольку для мобов мир - ровное плато, агрессивные вас заметят и атакуют если окажетесь в их радиусе даже если находитесь за стеной и не видите их. Геодата поможет вам от этого избавиться, если сказать короче геодата - информация о всех препятствиях имеющихся в клиенте игры. Поэтому геодата существует для разных хроник, геодата интерлюда будет считаться не полной для грации к примеру.
) u) ^9 O/ {6 y1 i2 G5 u4 n
$ l0 N1 q* G6 E1 d6 ?& tВся карта мира разделена на квадраты,они пронумерованы,благодаря этому вы сможете определить какой квадрат отвечает за конкретную область:
, g4 }9 Q) |; T& o% L& A[attach]495[/attach]
- x6 k4 M4 P( ^0 m8 ~8 i

* K$ f5 I, w4 A9 ~: RНа картинке отмечена только поверхность,подземелья не отмечены как и материк Хеллбонда, но это не значит что квадраты пустые.В клиенте квадраты находятся в папке MAPS и пустые весят от остальных одинаково.0 B1 y" _8 K; w) y' n" @. @
Геодаты в шаре полно и она разного качества, подбирайте ту которая будет корректно работать на вашей сборке. Если в квадрате есть косяки, к примеру невидимые преграды,или не можете пройти в открытые двери или ворота,то это не причина менять его на другой,существует софт для редактирования гео и невидимую перегородку можно убрать, но это отдельная тема...
# D! D6 j% A9 V# B. Y, E" e$ IРабота геодаты зависит еще и от гео-движка сборки - неотъемлемой составной части ядра этой сборки,так что не путайтесь с определениями что бы других не путать,геодата и геодвиг разные вещи.
& n; d6 i; z( X/ w5 o  kУ разных команд делающие эмуляторы разного качества гео-движки поэтому не всякая гео подойдёт к сборкам каких либо команд на 100%, чей геодвиг качественней решайте сами,тестируйте, темы "что лучше" для флуда.4 C# `  e7 ?0 V# o' Z5 `; o  t4 q, v

" [' }1 D  a5 ]- j
$ h6 l1 D) j! z
Что такое pathnode? Отличная штука, благодаря этой приблуде мобы у вас при агре не будут ломиться сквозь стены, они их будут оббегать как и сам персонаж, создаётся пачнод определённым софтом с квадрата геодаты и его качество зависит от этого квадрата.Расширение пачнода - *.pn.
+ s) L1 q, ^" ]' cКоличество файлов пачнода должно быть равно количеству файлов геодаты.8 Z9 G( k! d2 W. L: \
Есть сборки на основе команды Rebellion (а точнее Fortress), такие как L2Dream, L2f ССР, Phoenix, L2Royal извиняюсь если кого забыл, у таких сборок есть возможность поставить геодвижёк на отдельную машину что бы разгрузить основной игровой сервер,но использовать не советую поскольку не доделаны, хотя возможно в платных геосервер уже реализован на 100%.- @" V- a0 g& a  J" e
Таким сборкам пачнод не требуется, их геодвиг генерирует его в процессе работы,сомневаюсь что это хорошее решение,но и не плохо с другой стороны, кому как,по мне так геодвиг sf в полне нормальный.: v0 X6 r$ z9 v9 _* T
Сборки sf,это L2jServer - первые кто написал ява эмулятор,также L2jFree, L2Emu, L2Ambrella и др. на их основе, так же можно причислить Balancer (Fortress с которого основался Rebellion),но ему пачнод уже не требовался. Был отрезок времени когда эти команды использовали внешний геосервер (кроме L2jServer), но позже от него похоже отказались.& P. q3 z2 O& D( ~! H+ x
Таким сборкам неоходима геодата + пачнод,для комфортной игры вашим клиентам.
2 {6 [  a3 ^. \8 ]; ]  F9 yУстановка геодаты на сборки без пачнода (Rebelion):
/ Y$ ?3 v6 N+ ~" w9 F$ OПокажу на примере L2Dream.
. O! v6 ]3 A4 q: eПуть куда закинуть гео,сами файлы ( пути и папки могут отличаться, в зависимости от сборок) *.l2j:0 P1 m$ R8 }& g7 J; Y9 [
3 u, M! W* G; F0 d- O  e& {$ b
4 C8 u- c$ z: z! A+ N
C:\L2Dream\game\data\geodata" }2 B, @( F8 {8 _3 ?$ F
1 d9 f  K, r5 z0 J
0 n" l" w$ A, p* t3 e( m/ y* M: P5 C, Z
/ e; f: q) `& U

7 B- H  r2 N4 Y8 \( U: F& V5 P8 |Не в "C:\L2Dream\geo\data\geodata"(это и есть внешний геосервер),а именно по тому пути что указал.+ g4 J1 {2 _# {; V
Настройка.
4 |  d' \' y) X. eИдем по пути "C:\L2Dream\game\config",нам нужен geodata.ini или geodata.properties:9 Q1 g' Y  U# K
#================================================= ================================================== ====9 Y: I) ^( q' {, A: `! f( y% }! l
# Даный файл является конфигуратором геодаты.
: A" ?7 B, l' `8 f. e2 y& `% \#
2 y9 s; l* j* X& Z- h+ |$ U* c# Геодату можно отключить, запустить в классическом режиме на гейм сервере, а также запустить как выделеный сервер геодаты.- O0 o$ Z& ]7 m5 a3 W# m( y
#
/ R; I" j9 D1 s. b5 p5 v/ ?# На даный момент на сервере геодаты отсутсвует какая-либо авторизация(за ненадобностью).
$ ^7 x6 i2 `  `3 R0 Q( Q- Z# Если у вас мания взлома, то закрывайтесь на уровне операционной системы.
" `( v$ J" Y3 s0 ?2 p4 t# Ну или просите прикрутить SSL., o( l* E5 U' K1 Z
#================================================= ================================================== ====# ^. {% U$ _, z$ d2 J

7 z  I$ _' y6 z) N
2 T0 A; B8 M$ B9 M/ X
# Включает/отключает геодату и поиск пути.
( P8 D8 |* T0 Y9 O5 T5 M# Рекомендуется включить. Требует наличия файлов геодаты в data/geodata.
% Z2 q2 d! g9 M1 y# 0 = Геодата отключена.0 i1 n' h+ P+ t, u! T# K. N
# 1 = Геодата будет загружена в геймсервер.
  z& L* |9 [6 w# h2 Q, k0 L# 2 = Гейм сервер перейдет в режим клиента, и будет пытатся подключится на указаный адрес, в то время как
7 g$ ~$ O  D, V# p0 K& |# сервер геодаты сядет на указаный адрес. Для работы на выделеной машине с несколькими серверами) F% q. K' t3 s5 T
# рекомендуется гигабитный (и выше) лан. Среднее потребление траффика на осаде Адена = 400 Кbps на одного игрока,
$ z! A5 z' Y' F6 k: b3 h# с учетом активированных им гвардов. При обчной игре среднее потребеление до 200 Kbps на 1 игрока.) `8 v! n5 `6 l+ H+ F8 b
GeoData = 0) C, r2 R$ U9 C* h/ w  x
6 V$ ?9 O7 O& x$ q* g

# Z+ o3 H& u3 S" g8 J+ x3 L$ @+ s- ~# Хост для сервера геодаты.7 k( p' W$ N4 A" k9 D! J8 X
# * Забиндит все интефейсы.* }1 Y9 R9 m# ^
# Игнорируется при GeoData = 0 или GeoData = 1
1 I- [# D. ^- e$ e. oGeoServerHost = 127.0.0.1
. y2 [% m% @( H, N2 V: Y
% D" M& A4 d  O3 M

# E$ x8 H! U+ t, s# Куда будет пытатся коннектится клиент.
1 A7 G+ G, l) n  |, U+ \# Игнорируется при GeoData = 0 или GeoData = 1
8 h' A3 r4 E; B% |GeoClientTargetHost = 127.0.0.1, @& _- z& Q" S" ?; D! Y
- G) r+ H$ `2 P$ d4 R' p* S$ R% V1 S
1 C. F$ N7 }* |7 P9 n
# Порт для геодаты.
; h' R3 Q$ y7 Z0 X; V0 G# Сервер откроет на нем сокет.
# k* V" }! u: P# Клиент будет пытатся подключится к нему.1 O2 p0 h$ ]" F
# Игнорируется при GeoData = 0 или GeoData = 12 g% Y9 ]9 P3 [8 D8 p! I
GeoPort = 9050, C7 e; P; z0 k2 G# H+ \/ _' v
% }5 I6 s, W5 E* w3 k" c! ^
( r- q7 |2 m4 D! Q, r! ?* I
# Сглаживает путь.
) M6 J  K5 x  {: D1 t; c# Стоит отключать только для дебага.1 J: y3 z2 K* A' P2 W# `
PathClean = True' \! W  P* E. u% Y' @8 \
1 E0 P+ d" u, B8 ~$ \
7 r* o% q  j1 y4 _3 a  a
# Обрабатывать ли двери в геодате. Z' s5 ^, j: Z, {+ h: j
# Настройка влияет на ГеймСервер
* c, F3 [: A, d+ g' l- _. r) ]AllowDoors = False5 m$ y3 S( a. n% D; r6 u' X
  _; g( `" w8 `6 E. d& _+ E1 r/ U

% j1 {$ P( k- gPathFindingBoost = True3 A2 c. t+ x+ {
PathFindArea = 250
2 J( f3 t$ [  q& a1 m+ S# aВнимательно читаем,нам нужно это:
; q% @# O8 I* G  G  E+ \  K) x& a  K/ I" n) P0 E
. ?( M" j, N7 C1 A6 K8 B

1 i. J9 Q' N7 x6 {0 x; C8 [" w# k

9 y2 k' Y# [8 N9 _% \# Включает/отключает геодату и поиск пути.
$ i  ^+ v) e" m( u. t. c# Рекомендуется включить. Требует наличия файлов геодаты в data/geodata.. d1 D1 b1 N: e- H: G. ^5 R
# 0 = Геодата отключена.$ d( j9 p( e' t
# 1 = Геодата будет загружена в геймсервер.% w1 j3 ]% W6 A4 q* {9 Z
# 2 = Гейм сервер перейдет в режим клиента, и будет пытатся подключится на указаный адрес, в то время как
  P8 l4 x3 C( _! @& ~- ~8 Q& H) g5 @; c# сервер геодаты сядет на указаный адрес. Для работы на выделеной машине с несколькими серверами. H9 \" b3 r  v- W9 r; ]
# рекомендуется гигабитный (и выше) лан. Среднее потребление траффика на осаде Адена = 400 Кbps на одного игрока,
( ]- _* H* W- @* U  r( r& r# с учетом активированных им гвардов. При обчной игре среднее потребеление до 200 Kbps на 1 игрока.) \: B- U; ^/ U( Z# L
GeoData = 01 g7 H! |+ u' r0 t

  R+ l  Y3 ]6 {+ ?

8 Y2 x2 k$ S4 G/ p9 A) |0 P2 U  u7 @& l0 f1 U( C  n9 s

' k# A, F/ K0 t$ ~% KВ этом параметре меняем 0 на 1.
% C2 Y' Q/ X5 x# R7 @2 ставим в том случае если всё таки решили поставить геосервер,его настройки:2 a7 C' f% T% h7 l, j! {
# Хост для сервера геодаты.3 k$ n: u# V8 l1 |1 H5 d+ {
# * Забиндит все интефейсы.
5 l: }$ g9 ?* c# Игнорируется при GeoData = 0 или GeoData = 1
3 Y6 E: H; d3 y- g2 j1 A) e) nGeoServerHost = 127.0.0.1
0 g' K- N4 W5 D: V  u
3 T* C# D: a. g# v/ ?

+ b# l2 S2 f7 r$ _& _7 H% P# Куда будет пытатся коннектится клиент.0 O/ ^' Q8 [; }! h" N: ^7 K* O( N
# Игнорируется при GeoData = 0 или GeoData = 1
. {5 {; R# n, u& |9 G' g" yGeoClientTargetHost = 127.0.0.1
* }" T6 Z0 k" L# n& @. F2 f9 z5 Z, A8 w
4 c( r1 i3 ~* f7 ^
# Порт для геодаты.& r# t. ~) Z, z4 t
# Сервер откроет на нем сокет.: M7 J, C' `. v3 d9 @3 O' s
# Клиент будет пытатся подключится к нему.
( g# C- w5 O( y& u# Игнорируется при GeoData = 0 или GeoData = 11 ~2 w% z2 u* c8 A5 ^0 c: f% _
GeoPort = 9050( r& L9 M0 {' ~! f
Здесь всё ясно,можете зайти в "C:\L2Dream\geo" и увеличить выделяемой оперативки на геосервер изменением значений,StartGeoServer.bat:
& P- |! v9 m) d9 y* {+ M1 W( s, E$ A- _& s6 C

1 ]$ U& K6 `8 E% }8 j  Q1 |1 R7 w) _, f1 s: L3 j: Q" w5 ]$ J

6 }/ o+ L: G  v  Q5 n: z0 i3 kjava -Xms512m -Xmx768m -cp l2dserver.jar l2d.game.geodata.network.geoserver.GeoServer
* e1 J1 L( W" {5 H/ I7 I# u% [  C/ D, H2 G$ [
1 Y! T+ Y( }7 `5 |& M/ c

. L# n, g6 x0 S2 t+ p
( O5 g8 r  d  B5 Z& I# }/ E" ]
Двери,можете включить если уверены что они у вас работают,так как их "непробиваемость" не во всех геодвижках реализовано:# F( M4 `* p0 x  U+ {8 t: ]
+ y- X3 i6 _' P) O; C
1 x1 v! H0 y2 ]6 L
* i. N! H4 F* V9 o% I3 }) U

$ {/ _( K. y$ m7 r4 a% W9 y# Обрабатывать ли двери в геодате5 w8 z6 r/ U' w* w
# Настройка влияет на ГеймСервер; b  S& C! y% L/ G" C; a. f
AllowDoors = True* [) A2 \) t8 d& G9 i9 v$ P) a
Теперь sf,возьму как основу L2jServer,за всё время он не сильно изменился и не использовал геосервер.
) t- E* B% E9 n* p. p8 g- [Пути размещения файлов геодаты:/ v' m) r( \% [+ Q& y' F3 z
* A) t3 n( ~' D- `# h

/ ~! g. a* a1 L6 s) }- N# gC:\L2jServer\gameserver\data\geodata
3 p9 `! C* f/ H# b0 e/ k3 h5 [2 C2 @8 t+ X/ ]1 z8 a$ O
4 G$ }' M, n: H9 W  r( K! u* T. M
7 F, f0 D, V7 S3 F2 d3 k: o$ G$ G

9 a& Z/ X1 h. c8 VИ патчнода:, D  i/ S. [* n7 X# N- m; W
3 Y+ F9 p/ m" l& a/ q' [& Y' r/ {
& C, s% g: M+ V# E" k
C:\L2jServer\gameserver\data\pathnode3 ^# ^* i6 v0 y# w- O9 V

0 `- l+ J0 @# t3 a5 D

0 z; U( y2 t4 R
$ n+ j& W6 k% k( {9 t; s- z0 B
5 A" h/ k6 n3 u- A9 X
В папке в месте с геодатой необходим файл geo_index.txt, в папке с пачнодом pn_index.txt,их содержимое должно быть абсолютно идентичным:
: B$ j% p( |& ?) j4 n
# ^0 W" m4 h* d' y9 W
5 {2 {# g* ~3 a$ Y9 O" W

6 S1 T' I+ {0 f2 u% ]: c

5 J  C7 L# A9 q/ f2 i: s16_107 L* o) N$ `7 R3 Y, q+ a' \; I7 k
16_12
# i# d! j$ f& X6 O& ]1 g! U$ R6 G16_18
+ ]5 W+ h: v/ D% I( q- ]16_192 C5 e! T. g4 S6 c4 i. p4 `
16_20! |6 F! O2 }& ~) U4 f0 _
16_21
9 @6 ?3 d8 \/ j' p16_24
( ?( J: H, \+ Z7 @0 \6 N7 [8 U2 W16_25
9 h$ T. e& }( P3 \' y/ ^/ X17_10$ r# V/ l. P& ^8 Q+ q
17_11( r4 _2 C: D3 x. r1 N
17_15
9 ?  x( {# V% J# a9 B" B# w17_16
$ `2 {6 r2 g; Y' H& S5 f17_17
* K$ L' v3 \, @/ z- x. T7 ^17_19
* v$ i6 N! ]; y2 I& @2 D" J; k2 S17_20
1 P1 N' p" w# g. R/ `6 d17_21
2 J8 M6 S3 I5 Q: i/ ]17_22: J( j' M: S; w2 D) m
17_23
, K- ?+ L" F( ]* Z' C$ k& w1 D9 c17_24) F5 L7 c, V1 B& c2 o/ M" `5 c
17_25
- N+ {2 O5 D, j; h* m18_10/ l! [* r# ~" q, m/ {. r6 Q. A
18_11
4 _! p9 C. `# i+ ?4 W3 M0 L% @, }18_14
+ y) I$ R/ T* l- s18_15
' |0 S# w* o3 N* g18_16
+ Y+ m  w- R# h5 t8 r' U" ?! x18_19
) {% {- r4 Z6 x+ ~2 U18_20
% `& `3 Q) \0 J- n0 h18_21
6 A* B! y. K3 z& f3 o- b7 @18_22
+ r6 S* [. ]& s3 o$ ~, E18_23) a7 h) t* y9 _
18_24' |' e2 T0 z4 x. g7 U
18_25- D0 K9 m. w" Y. t% M
19_10
  g/ n3 Z1 m+ [1 {# d6 ~19_111 [, w. J* ~; D$ ~( F# W
19_13
3 Y! w' Q' q6 O3 s19_14
5 V! \8 f8 U7 F) A; I+ s1 \19_15
# D) L, @' o1 q19_16
, y) u4 ~7 z3 w/ r, W19_173 B) }, f3 w; |+ F& a6 g+ x* A
19_18
. }% q+ ]! o( X3 U* I19_19
% o; @: ?# ~- }. d7 d; `* j$ `$ @19_20
- a, x0 J, f6 ^0 }! U19_21
" g, h: z8 V; w& ]+ Z0 |3 r19_226 l& y! N2 ]. x5 C9 j0 S
19_23+ Z& ~3 Z* ?" X' R' ~- q# z1 a; w
19_24
. V& m2 n7 }5 ^: c3 |/ a# y7 D1 k2 f19_254 ^9 C* N# s4 G# o. }  G
19_26
! M; ?8 J' f( Y- q4 z  p3 K20_10
2 K( ^1 O; K1 V, O2 a9 {6 e% i5 G20_113 q; L5 Z; ]+ F5 x
20 _13: W- \; `- p; @' L
20_143 S; ?; g: `/ i8 [& P& E7 Z+ f" y
20_15$ l4 Y0 G: }4 ~0 P
20_164 b/ S8 x: e: t* b+ D+ v
20_179 d0 {1 N: y  V* o1 U5 ?2 Y! k8 v7 \
20_18
) D- _2 F) u) o2 R) F20_192 G9 u& I% @* u% d0 a' ]% A* @' W* p
20_20
( \) a7 T4 g8 e20_21
( J( Y2 S3 `1 C$ ^/ J. ]0 n8 l: w20_222 _) u& m( B& d" _" F; w
20_ 23
  K7 Z2 a7 `. @( V* S/ s20_24
3 _+ B. f# E* i+ R4 \  o20_25: f! v2 M& `  W. P& W+ y; r
20_26: w' _2 d# G. q/ }) E, \
21_11' o: [0 m+ K/ Y0 i% B2 i
21_14/ g0 ^& l  Y5 C$ \
21_15; V3 T/ E! Q8 [5 r
21_164 n% @: z/ P% v' H" `+ _  G
21_17
- d0 p* a. ~; F1 Y/ }& [9 H21_18! `- Y. v6 L) J3 o6 E+ u- }$ e
21_19
% K& W3 G' R$ K9 z5 b/ @21_209 N+ E# ]5 {7 T" Z7 w/ M4 }. g
21_21
3 t+ t: u. o4 @- s6 `) K21_22
8 x- h& f% c/ g2 u& X$ u2 T21_23' h' ]( @. @5 w$ Z# ]& }& e
21_24
1 |" N" Y$ i$ `! A6 m21_25
; |4 g! k' r1 U' S. E' R3 X22_13
1 t0 G9 `; H7 f' L4 X5 m22_14; u+ O' Z5 s9 B" q3 D. {: H$ E! P
22_15: T3 p" Y: Y" f- m0 I
22_16
& ]( d, G9 c1 i7 a22_17$ y7 M7 x% K7 \+ l( c5 O5 a+ V
22_18: ]9 l( ~* i' f% V1 w
22_199 H% N* Z2 \; q5 w; e' G
22_20: s6 c' `4 x6 H9 W* D7 x7 [7 M
22_21
+ X  Q) ~2 w5 }9 V22_22
0 }; K. H. T) K( [. e, W22_23- m; L  M  r! N$ U* G& V
22_24
3 {5 U/ B8 n& Q! Y) l5 F+ k22_257 e8 Q9 n# V. {6 }4 ]9 H
23_11% a/ a& k4 q$ Y5 v: c
23_12$ Q- ^3 M+ J/ m# _
23_134 i& \+ \( ]1 {+ J9 w
23_147 ]% s* }5 s$ b7 E
23_15
: v# q5 _% K& z2 g% _" |; f( i23_16( p- a: O* N& ^! f" D( F' N* R( J
23_17
2 q+ Z* Y4 p" N* q5 C23_180 G" `$ F  ^  q
23_19
8 M% `6 }1 w6 D4 c: m& b" z& J$ s23_207 l% h6 ^8 e/ P3 V( K8 {# u- E; }
23_21
' {% T3 W5 Q0 A1 @: {4 ~23_226 H6 @, `0 O7 I; p+ W
23_23
* W) x; B: N, p9 k5 }; t0 ~23_24# j6 L* n' ^0 y9 i" |' e
23_257 P' Q1 W, {% H7 J5 y) Q1 l
24_11' X% o3 Q+ |: [; K0 C
24_12
1 ]: _8 Q( n, Z- n% ^24_13) ]& l" t9 Y# c; z4 A1 f& ~
24_142 W/ r' b* Y& R+ ?9 c
24_15
) {; S. \/ D4 E+ ^24_16
: @6 \! ^# [0 z5 @. C24_17: Y. |  \% i0 a& L3 L$ S* T
24_18
' w$ B& m, P4 l% `/ R. w: H+ b24_19
: e6 b1 D3 U4 k$ O: d: h24_20, g2 ^  l4 X, a) j+ t
24_215 q4 b& a' J3 v' ?' K, c
24_22
+ r2 \1 c. S# \$ b24_23
! ]: I. Q2 o6 Q) K$ {' U24_242 \: ]$ M4 `3 a9 l
24_253 ?; u7 s( y2 |
25_11
: f0 ]+ R  D/ ~& o2 Z, b2 d25 _12
! k/ j  l6 E2 P, [8 A/ i25_14
& M2 E, C  X3 h  K8 F25_15
) l$ r# e$ @4 a/ g) N25_16  g, L+ d1 H4 d) b& k5 s9 o- }7 P# M
25_179 y1 j/ f( {* C1 S0 h: H6 r
25_18
. G4 O. C: A1 _8 |: T/ W: D8 \25_19
1 e- F9 z7 A- W* q& Y25_20
  @1 M+ o7 p7 L# i& _1 \) }25_21
: u( b$ Q$ s7 l9 _6 @- n6 h25_23+ @+ r' ?* H% @3 [* V2 q
26_ 115 T' u( U$ e3 D% Z
26_12
$ O' v& r2 h- z: @* x4 t26_14, e  o6 T2 n7 g5 @& G, e
% y& @: G3 S! I; d" ?* S- N/ T% R
) {3 T' P3 l! r. X
' l+ N0 A' Q3 F4 A- S" U4 K( O

) h2 D+ u$ m, w7 p- e: d1 G9 }В этих файлах прописаны загружаемые геосервером квадраты геодаты,если содержание geo_index.txt и pn_index.txt не совпадает то при загрузке геодаты может вылезти ошибка,просмотрев лог ошибки увидите какого файла геодаты или пачнода не хватает., |0 O  j$ A" W: _5 c" P
Настройка,находим по пути "C:\L2jServer\gameserver\config" General.properties,нам нужен следующий раздел:; U$ Z+ b3 r4 a& l7 D3 E* G3 r
#------------------------------------------------------------- --------------7 [* Z. Y4 z( H; x8 t6 O9 n
# Geodata3 g1 e# r; O" E* N2 M; E; ~  d9 X/ C
# ----------------------------------------------------------------------- ----
! m* L" t( g7 g) w* u8 t: C/ U5 x# GeoData options:" r! e" U7 n5 }9 `! z
# 0 = GeoData and PathFinding OFF (default): |" R% O$ l1 m- ]
# 1 = GeoData is used to check Line Of Sight (LOS) targeting and
4 t2 T) ^, q, H5 }, P# L2Playable movement. You need to download files for data/geodata folder.1 w& q3 G# h3 y! L( K2 H+ Z
# Monsters can pass walls but not aggro (no line of sight) through them.! ]2 `% n! X# g' u1 K
# 2 = Full GeoData enabled. Includes PathFinding (requires also /data/pathnode
) T! _) ~; e6 V' G5 u# files if CellPathFinding not enabled) and all character moves go through; e# X% W2 W1 ?
# geodata checks (if a mob passes a wall, pathfinding didn't find a route
! d8 O! g; n* Q% N3 h; ]7 c2 ^# but we allow attack and returning home).
: y$ A7 Y; N) h6 w2 k% G# Recommended server memory minimum 2 GB, rather 3 GB./ v! a8 Q$ q& z2 l5 {, L7 R: A
# Default: 0
( K7 m' X/ a8 e. u1 _8 xGeoData = 0% z! G8 y3 D* |
6 s; |  h+ W0 P

' g3 S  I1 V% K# Cell-level pathfinding, produces more accurate routes but is (maybe 10x) heavier to calculate. Recommended for small servers at least." ?# W& z. o$ F( e# k0 Y
# 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.
: U$ |6 v2 p& s# Default: False
8 T0 Q3 {- g. A% v" c1 ?" xCellPathFinding = False
9 l+ d) l& y8 I% O4 N
) u" w  {4 z# F7 l+ q% X$ X, n9 L
# x$ i/ ?/ T1 N+ S
# True = Loads GeoData buffer's content into physical memory.
4 J, T1 ^8 _! L% H2 _( ~  H# False = Does not necessarily imply that the GeoData buffer's content is not resident in physical memory.
. V+ y! c! Z; j8 ^" Q( A# Default: True
$ o4 M8 Q4 D% v' S* s& f$ mForceGeodata = True
& l+ h5 l' a5 `$ V9 h" V
* X5 ]1 R1 Q3 }! V% Q
& x) P! k. T( y4 W$ A4 c
# This setting controls Client <--> Server Player coordinates synchronization:
7 g' ~) w1 q) C& K! L5 G4 d0 W- {# -1 - Will synchronize only Z from Client --> Server. Default when no geodata.
" \3 s- s2 M  h0 H* I* K# 1 - Synchronization Client --> Server only. Using this option (without geodata) makes it more difficult for players to bypass obstacles.
, _8 u( K9 s6 N: @0 A! G! F# 2 - Intended for geodata (at least with cell-level pathfinding, otherwise can you try -1)., E( E  I0 h' m$ c1 V5 H
# Server sends validation packet if client goes too far from server calculated coordinates.) U8 a& _# U+ g( A+ g2 p
# Default: -1
9 S9 a/ l; g3 a+ MCoordSynchronize = -1
& h1 e5 B6 i  E) E) q4 u) m1 T) I4 E; x; ^
$ y+ c6 P. B( _- m3 g( v
9 o7 l: o5 I7 f  |% `9 K/ k
8 F' h2 |% V. g3 E5 j* n% O
GeoData = 0% H2 D# a3 G# |+ A" ~

" w! Y3 ~5 c# }7 I9 s4 ^

0 C) r& a9 x+ ^" ^" J( Y; L
5 A: M4 U# d4 K" q

8 m' ~1 h7 h! F7 pСтавим 1 если нас только геодата,пачнод отсутствует.В этом случае мы получаем только то что агрессивные мобы не будут на нас кидаться,персы утыкаясь в стену не будут буксовать,а просто остановятся,но мобы если вы завернули за угол будут вас всё равно "видеть" и ломиться к вам через стену.6 q! X. h" B8 W! O. i; w
Ставим 2 если пачнод присутствует, так же включаем эту настройку:
, l7 l* {6 L4 R1 @" Y+ {+ R0 R( }; H5 J$ p0 |
/ b/ c2 s3 k/ g: ^8 E% i( d

) f% _1 k+ a( y" K$ r; K

7 A* s6 o0 c0 Q; D0 f: N6 s) R# Cell-level pathfinding, produces more accurate routes but is (maybe 10x) heavier to calculate. Recommended for small servers at least.- U. H/ \) e5 H# y
# 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., ]) I* s6 y2 o$ n3 {6 U& p
# Default: False
4 A$ I5 q! c4 j# W1 a; UCellPathFinding = False: Y8 i! `0 m: K# A' d

$ Q9 h+ B; B; C1 L

4 ?1 X; w$ W6 t7 D
9 B( Y: t7 v$ q" u5 d
6 t: [# ^7 Q- I! ^* w9 \" d- Y/ q
Ставим True если хотим более сглаженную работу пачнода,но нагрузка на сервер немного возрастёт,если нет то ничего не меняем.
% w, u: e  c9 x+ mПожалуй всё подробно написал, спецы дополняем если что то не учел.
) N/ o" R1 f$ X7 b2 |# M. G1 ?5 T" H( g2 q+ H, O0 d; I. U
/ q: s  |/ A7 K; f! |0 W7 Y
Не забывайте что если вы изменили конфиги при запущенном сервере,то они вступят в силу только после перезапуска сборки.
! O/ E6 w9 Y2 j4 Y4 `0 i
- s9 q9 A5 M: KИ строки начинающиеся с "#" никакого значения не имеют, это просто комментарий или один из неактивных вариантов конфигурации.
! U" D! e# a8 I2 f0 X' Q% B* @! W4 u, d1 f# g: K





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