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
  ~6 o8 U# G% `Сборка        L2 Java
2 [/ p6 A/ B2 b* O9 k, t5 x0 ]2 v  y6 s- v$ ?' i
' Z5 X! I' u" r; _# n4 j5 O$ e1 d9 ]
Доброго времени суток.
5 w& k' o1 O6 O. d0 t, [! E/ {# x# X
% c& z: n9 p9 e) Q0 |9 w4 `
  ~6 ?7 m, e7 G
Часто появляются вопросы на "стёртую до бороды" тему геодаты, зачем она нужна, какая есть и куда пихать. Пример будет на хрониках Interlude:! \* f- L% m/ j+ C; f$ P
Возьмём две основные *_conv.dat и *.l2j, первую отбросим так как этот формат для ОФФ-серверов,хотя есть реализации в яве и этого формата.& g# }9 L1 L8 v8 @+ C6 O
Для чего она? Для мобов не существует стен как в принципе и для чаров, упёршись в стену и буксуя на месте вы всё таки меняете свои координаты, мобы проскакивают их шустрее.1 I# [& K4 I7 @. z
По скольку для мобов мир - ровное плато, агрессивные вас заметят и атакуют если окажетесь в их радиусе даже если находитесь за стеной и не видите их. Геодата поможет вам от этого избавиться, если сказать короче геодата - информация о всех препятствиях имеющихся в клиенте игры. Поэтому геодата существует для разных хроник, геодата интерлюда будет считаться не полной для грации к примеру.% Z/ q" D/ |: P# m
+ S# k" E6 ]* N( w3 y
Вся карта мира разделена на квадраты,они пронумерованы,благодаря этому вы сможете определить какой квадрат отвечает за конкретную область:
+ R4 Z$ Z1 d. `[attach]495[/attach]
# w  F. V' t  k4 Z+ }* G
- s0 n" n" Y8 o' k' ~# S$ h
На картинке отмечена только поверхность,подземелья не отмечены как и материк Хеллбонда, но это не значит что квадраты пустые.В клиенте квадраты находятся в папке MAPS и пустые весят от остальных одинаково.
! h7 X5 z4 @0 g7 D" lГеодаты в шаре полно и она разного качества, подбирайте ту которая будет корректно работать на вашей сборке. Если в квадрате есть косяки, к примеру невидимые преграды,или не можете пройти в открытые двери или ворота,то это не причина менять его на другой,существует софт для редактирования гео и невидимую перегородку можно убрать, но это отдельная тема...! u" c$ {) W4 h$ B9 n
Работа геодаты зависит еще и от гео-движка сборки - неотъемлемой составной части ядра этой сборки,так что не путайтесь с определениями что бы других не путать,геодата и геодвиг разные вещи." t& R4 U4 w1 N7 L* ]5 G# t
У разных команд делающие эмуляторы разного качества гео-движки поэтому не всякая гео подойдёт к сборкам каких либо команд на 100%, чей геодвиг качественней решайте сами,тестируйте, темы "что лучше" для флуда.
1 {" a; s; i0 s6 z* D+ p
8 a2 a' O; k$ A+ n( X: z

% d6 h; @# x- z9 h# EЧто такое pathnode? Отличная штука, благодаря этой приблуде мобы у вас при агре не будут ломиться сквозь стены, они их будут оббегать как и сам персонаж, создаётся пачнод определённым софтом с квадрата геодаты и его качество зависит от этого квадрата.Расширение пачнода - *.pn.7 K. H- c% m, r5 ^7 n
Количество файлов пачнода должно быть равно количеству файлов геодаты.+ I& C! C  U) H2 ~' R) e5 N
Есть сборки на основе команды Rebellion (а точнее Fortress), такие как L2Dream, L2f ССР, Phoenix, L2Royal извиняюсь если кого забыл, у таких сборок есть возможность поставить геодвижёк на отдельную машину что бы разгрузить основной игровой сервер,но использовать не советую поскольку не доделаны, хотя возможно в платных геосервер уже реализован на 100%.
9 Q$ w9 Y6 Q7 P9 N% z' hТаким сборкам пачнод не требуется, их геодвиг генерирует его в процессе работы,сомневаюсь что это хорошее решение,но и не плохо с другой стороны, кому как,по мне так геодвиг sf в полне нормальный., P. B$ q! r2 j! n6 Z% A
Сборки sf,это L2jServer - первые кто написал ява эмулятор,также L2jFree, L2Emu, L2Ambrella и др. на их основе, так же можно причислить Balancer (Fortress с которого основался Rebellion),но ему пачнод уже не требовался. Был отрезок времени когда эти команды использовали внешний геосервер (кроме L2jServer), но позже от него похоже отказались.
; k# H' V, L& Q0 f0 {Таким сборкам неоходима геодата + пачнод,для комфортной игры вашим клиентам., c  k- A/ h  n  y; J. l
Установка геодаты на сборки без пачнода (Rebelion):0 ~. ?; k7 l; F2 S
Покажу на примере L2Dream.' H  ~# k1 _: X5 W
Путь куда закинуть гео,сами файлы ( пути и папки могут отличаться, в зависимости от сборок) *.l2j:
& V: }0 `7 }& t9 ]; H& k. s/ u0 h+ B/ G- L

7 w4 i# r; u# uC:\L2Dream\game\data\geodata
8 N% d, e4 N. a4 D1 c: x" j1 e8 ?' |: W7 A1 E' s- W' z4 u

/ C: a5 X' ?% S1 n1 f* ]& Y, ]3 a& X, D9 F

0 H/ L5 Y3 X- B0 I" b7 XНе в "C:\L2Dream\geo\data\geodata"(это и есть внешний геосервер),а именно по тому пути что указал.
! R- y3 p' m+ xНастройка.
: P7 I  ]* c: E! P0 X3 p: v! I% kИдем по пути "C:\L2Dream\game\config",нам нужен geodata.ini или geodata.properties:
. s& w& S$ T( i# d#================================================= ================================================== ====
1 n; R) O+ t& w3 _4 X/ f  i' t# Даный файл является конфигуратором геодаты.
" _$ A  b+ h2 c3 M5 g#
; c" e( L# a0 \# Геодату можно отключить, запустить в классическом режиме на гейм сервере, а также запустить как выделеный сервер геодаты.
8 k% H% `6 B) ^. y% y#8 m" K  ^% c! ?1 _
# На даный момент на сервере геодаты отсутсвует какая-либо авторизация(за ненадобностью).
2 t" x/ ]3 X/ \. q' @, A& e/ B# Если у вас мания взлома, то закрывайтесь на уровне операционной системы.
% q* z2 _0 @9 {# Ну или просите прикрутить SSL.0 n' L" V2 p) ?3 }" a
#================================================= ================================================== ====+ Q- X2 G3 \3 a' r4 A& w( Y
! p8 j7 _5 m( V8 S8 p6 p; k& t7 H1 Y3 N7 W

8 b" l3 E0 Z& ]5 `# [4 _! D6 P# Включает/отключает геодату и поиск пути.
' c3 ?3 q! U+ j; q3 t+ k0 W- _- L# Рекомендуется включить. Требует наличия файлов геодаты в data/geodata.8 d7 `/ F5 O  m3 d% P
# 0 = Геодата отключена.
+ S! U' Z# P: m' s* W: \4 H6 `# 1 = Геодата будет загружена в геймсервер.
( ?! M3 A4 Z( V  N+ a# 2 = Гейм сервер перейдет в режим клиента, и будет пытатся подключится на указаный адрес, в то время как& Z# Y4 ~# i& j6 s3 \2 V
# сервер геодаты сядет на указаный адрес. Для работы на выделеной машине с несколькими серверами5 f' ~7 D' ^# O, r7 B
# рекомендуется гигабитный (и выше) лан. Среднее потребление траффика на осаде Адена = 400 Кbps на одного игрока,
. k& i" S- r. \/ a3 k7 D/ m% N# с учетом активированных им гвардов. При обчной игре среднее потребеление до 200 Kbps на 1 игрока.
3 o! _; T- \" s( PGeoData = 0! |' ?6 ?, t8 n8 S+ {" X

# B$ A' W) v' A" ?) w  ^( I6 Z6 z
! z+ Q; k, t% {) w. F
# Хост для сервера геодаты.& \0 |/ \) j4 N. v+ ]- I
# * Забиндит все интефейсы.
( M3 d5 N* Z, _& M" a# Игнорируется при GeoData = 0 или GeoData = 1
, j: K+ j  w& B; V( FGeoServerHost = 127.0.0.1
0 Y' o* }* _# p# _. K9 i# L2 n0 q; q" a# S) E' _6 w* x

- [9 V# z! m: ^1 U, T+ x# Куда будет пытатся коннектится клиент.0 f) I; y& v* B5 u( j. {5 H
# Игнорируется при GeoData = 0 или GeoData = 1& M6 [' c! E& D, l) ]9 M
GeoClientTargetHost = 127.0.0.12 B) e, _' e7 q5 P/ S* o
* v8 o8 v0 a  i. e( H4 M  F
: |5 y/ j3 ^9 ~9 A( b
# Порт для геодаты./ B6 q& J# V/ \% V
# Сервер откроет на нем сокет.
0 m1 ]# {1 r9 a* P# Клиент будет пытатся подключится к нему.. i; B4 [7 d2 l* `! q. ?7 @0 ~7 K
# Игнорируется при GeoData = 0 или GeoData = 13 @. E! ^; f' ?! H9 X
GeoPort = 90502 O  F; L$ ^9 J& Z; v

5 X( `' T$ Y" x0 }! |
9 _2 w. X; k: o) ]
# Сглаживает путь.) |7 U* b2 h/ [% P
# Стоит отключать только для дебага.
+ |$ Z& ?* J3 K# GPathClean = True
& [2 i- o" a7 |9 L. F. D9 g6 B2 @) @3 f/ i% w% C/ Z

" m% r- z: f( K. A" ?' X- e# Обрабатывать ли двери в геодате1 R: u+ V6 y6 P8 e! h
# Настройка влияет на ГеймСервер) [5 b. p% X9 u* e0 Z  _9 I
AllowDoors = False
' a+ Y& G0 O! n* ^
+ B- J7 l9 t" Q5 T8 x! H: Z' K) q
1 I$ i! y- @, _' b/ a! j% w# _
PathFindingBoost = True
9 \" B& J% V2 r( M4 {; XPathFindArea = 250
( h& q5 U5 |+ Z- ~! _Внимательно читаем,нам нужно это:
+ U9 n  a9 v, G+ {' q; l4 y, r
( ]8 {% n3 B+ \# `
' W3 D- {. X! W0 U/ X" ?2 v# ~

- u8 E( ?; ~5 G8 M" W. A
& @1 K( B- g7 r- z, z7 N& v
# Включает/отключает геодату и поиск пути.
& H% V& v! w6 d  _# Рекомендуется включить. Требует наличия файлов геодаты в data/geodata.6 X1 x4 l5 F$ l& f+ H! ?9 d
# 0 = Геодата отключена.
2 H( M5 h& \3 k! L4 c, w! I# 1 = Геодата будет загружена в геймсервер.
; c5 \. L3 _8 S' Q( `6 V# 2 = Гейм сервер перейдет в режим клиента, и будет пытатся подключится на указаный адрес, в то время как
0 I6 @. r8 X# A0 g7 l# сервер геодаты сядет на указаный адрес. Для работы на выделеной машине с несколькими серверами, q, s3 p' b& |2 N; B6 M' Y; }+ d
# рекомендуется гигабитный (и выше) лан. Среднее потребление траффика на осаде Адена = 400 Кbps на одного игрока,
& `# \7 @% r4 e( R# с учетом активированных им гвардов. При обчной игре среднее потребеление до 200 Kbps на 1 игрока.
. s" K! X7 L2 H! MGeoData = 0
2 {6 M+ P1 M: b# v0 p, Y6 V' G! m: g5 W& v1 ]

9 t  g+ Y  L$ l- v! m% J% p$ d2 ~  F* p: ^$ ~1 h) S2 @) m
( R/ ?- k& @- x3 g7 m  b
В этом параметре меняем 0 на 1.' G# ^; t- I8 `7 {
2 ставим в том случае если всё таки решили поставить геосервер,его настройки:
. X! h; c4 d% W  x- s# Хост для сервера геодаты.
6 C. X7 h. x4 o4 V( I4 W# * Забиндит все интефейсы.
% w3 r/ j' f& j2 h; A' e# l. w# Игнорируется при GeoData = 0 или GeoData = 1
& _  M+ ^5 i1 n7 o' \" F1 A7 qGeoServerHost = 127.0.0.1. n* g) l) j; N% X& c
( l5 u' {$ b( ^
( s% `( n3 N4 \7 C
# Куда будет пытатся коннектится клиент.
1 v/ l' i1 u( Z( Y( X4 u6 f) i$ o# Игнорируется при GeoData = 0 или GeoData = 1
7 u/ h: z, g" q* yGeoClientTargetHost = 127.0.0.1
. G# R/ k  i3 i% Q! T9 j
, l5 _. F7 G) K) m
, F. }3 f( G: N
# Порт для геодаты.3 c$ ]/ N, n* y5 H  X
# Сервер откроет на нем сокет.1 J  \+ P0 a8 o; L5 I
# Клиент будет пытатся подключится к нему.4 o( ?; H7 W! e' A
# Игнорируется при GeoData = 0 или GeoData = 1+ T: O2 i5 M4 ]8 z  @4 m) P
GeoPort = 9050) i* W3 Q, w7 V( l8 ]" Q! X
Здесь всё ясно,можете зайти в "C:\L2Dream\geo" и увеличить выделяемой оперативки на геосервер изменением значений,StartGeoServer.bat:
9 ^- v' Z5 A. R7 w  s) m
+ V. m) `1 h: w6 c: x& M0 p

4 A! R# Y" Q. ]' U! v# Z3 c4 x; ~  q8 D5 W+ l& t3 \) i
% W( K; S: s. A. M2 ]
java -Xms512m -Xmx768m -cp l2dserver.jar l2d.game.geodata.network.geoserver.GeoServer
* l0 h& n7 l" f9 H% B* x) U/ X9 B0 E# B5 h2 }- ^' c

& y4 E( r' C" d4 L  P1 i
1 b, R1 o# M1 t# E5 w5 {

+ B- p5 \; N/ F# p- a* R- p8 ?Двери,можете включить если уверены что они у вас работают,так как их "непробиваемость" не во всех геодвижках реализовано:3 _% w8 f8 l4 A9 U$ b" _
0 M6 T$ h2 S3 L3 o/ F

: B& B9 Z) t9 b  \
" G% m4 b' M+ B- c/ `, E+ j
7 D3 X( S' Y) y9 Z$ H; H! Z
# Обрабатывать ли двери в геодате
" U, ~$ G4 E$ B6 f# Настройка влияет на ГеймСервер8 U' u- \4 w3 `9 x9 f  n, C
AllowDoors = True
* G. Z- V; p% r, SТеперь sf,возьму как основу L2jServer,за всё время он не сильно изменился и не использовал геосервер.: |" R8 \# u3 l  M. _
Пути размещения файлов геодаты:  Y3 p/ q6 h8 |( X+ \& o! G7 K

: H) D6 E4 _' Z9 i
! W* C" v; D- e
C:\L2jServer\gameserver\data\geodata
+ ^& B) X0 C5 `8 c: b7 u, |
" ~5 ?5 N5 G- H* s' U
  ?6 g, Q6 U% |

! e& i9 N. n2 e

5 [/ L- O0 F4 o3 F% U9 a1 AИ патчнода:
$ ]7 Q; U0 w3 L1 \  P3 b! x$ O0 U; |7 M- y

9 J0 l% j6 j) s. `1 A% y4 z% KC:\L2jServer\gameserver\data\pathnode
: {- ]" |* h; Y; L) ^
' x0 d' b) \. ?

: l! H$ K: w' @$ K9 G- G
4 x7 G  f% P) I! f! y) t! n3 ~0 j

$ D+ K1 ^9 M  u' C: p1 RВ папке в месте с геодатой необходим файл geo_index.txt, в папке с пачнодом pn_index.txt,их содержимое должно быть абсолютно идентичным:, o" e% X. x5 y+ M( O" P/ R

: s  o0 f5 L9 M  {+ K% i7 n

. S0 V# ~* k* L7 Y2 f% Q# e
4 m& |5 _( q0 h' v8 x9 `3 M! u
8 d1 d2 V! d( L% d. F5 }, d- D
16_10! b/ Z9 }  S2 @
16_12
2 t% ^  ~; q2 e' [) I16_18$ G1 A$ Q% M, ]5 {
16_19) B/ R$ y3 G& C4 _) r) I
16_20  @( q5 r7 Q# D2 J* O
16_21
  V$ {! |' h4 d) |5 V3 }2 P16_24
8 f1 b  X# |1 g  C6 x1 L0 v16_25! T; |; ~/ w' _+ k: m% q1 Z
17_10- s9 Q" i5 ~, N$ }/ {5 S1 S
17_11
, `$ a: V1 q( \6 J4 F1 A1 m1 S8 `17_156 ^9 H5 }0 R0 n$ q& |/ v, w
17_16  B# A5 J9 V2 o2 d2 ^* D$ j
17_177 a) \. x' S& C6 W2 ?( s
17_19
: i9 U7 [1 F) k0 ^17_20
& p# \/ _8 T5 ^! @" }) W" n17_21
3 ]( v% t/ H! Q, \/ }, h17_22
, X- s* q+ p( [- T7 i# f17_23
/ M; R$ f0 r! |7 `17_24
4 f9 f+ N) o9 m$ `17_250 C7 z& D& \% n* B1 a/ Y# f8 }
18_10; [, [, N! `/ r$ P; [0 l- L
18_11
' y. _8 N0 O2 z& J# R18_14
  I0 N) W7 ^+ y& ]  O" b18_153 K9 {( C2 h4 h* t, v6 i
18_16
; z; j0 v. j7 H6 ~9 d' G* @) ~18_19, l! y4 j: O' y; j
18_20
  l: Z' x" C2 B9 k& p18_219 K- a- @% O$ X
18_228 p) F- U- `" Q% x! m
18_23
5 M7 i: t/ f6 a$ w+ T2 J18_24! a' }8 d7 ~$ p# W
18_25
; I8 |8 Z+ a) ^1 G2 b# g19_10
1 g1 L, P# u$ i9 ~2 ]3 A: j19_11
/ j" s2 J/ q0 f" ]7 @19_13
3 O9 |- t+ d$ u. O19_140 E* g- Z5 [$ |( _5 m( `/ d2 F  o; c
19_153 H0 s2 d* ]1 u( a% |
19_16
) k" a) q# s% b( o0 v) q: K1 M19_17
! e) Q6 w; l% A+ N# e" `+ T19_18
3 x( @$ a% x$ b) G4 e( L+ V19_19; J4 L1 _% s# K/ \, q
19_20
. W" K; ^# C6 l# o3 k* G* S4 P19_21" \9 n  g& w4 l
19_22
* y- ~( e2 L3 H19_23; w$ K! B$ D* a+ C
19_24$ I/ ?. Z8 E+ ]* Y. ?+ J
19_25; M. f( N3 o& R* X) z( Q9 V$ n4 d* \
19_26) r; o  b4 A0 `' u
20_10
9 ~- ~5 T- R% t3 X7 ^' H$ z3 W$ K20_11
! x" s1 Q3 V6 V0 m0 e+ a# k: ~( T1 D20 _13  P. G7 w" G/ ~6 z% e" n" V
20_14
0 p% C; u; }. C( j& q4 S+ }$ c20_15# i" a/ X  o  E, `4 P5 B) \! }
20_163 e4 [& k* {4 q! I+ D
20_17
8 B8 f3 Q$ `2 F% P% }; Y; P1 t20_18/ \& X+ n% m, Y/ k* M, E; O" M# \
20_19
' M  X/ r0 Z  t( }# \, G% K. B7 K20_20
# L& g1 K8 s+ ?& @6 @6 |20_21! @' @# t9 L; C6 X
20_22+ D  M- O1 a0 H2 X- `+ N
20_ 23
7 @4 d  f. D( V! ~* F# L% L20_24, i$ u$ d+ C! x+ }1 u" X( o
20_25: p9 C* z: }$ T2 n2 i  g( r
20_26
) B0 R- w7 H: I  T% X21_11
4 z) `1 V" h9 K- Q/ P21_148 J3 N, f. x" u9 u
21_153 ]: R' @/ I" }: g! o/ y# w
21_163 t1 K( S6 ]+ h
21_17
3 l0 @4 N5 H( A21_18$ h: G7 F4 ^( u* e7 K0 e, g
21_195 E, d# |: Q- I$ R: A' s9 w; o
21_202 }& a6 Q$ B0 V2 a/ Y7 B: n: o5 k
21_21
2 K4 q5 R. h) D0 }21_22% c* t- n/ k, Y1 w7 q
21_23
9 K1 U  b* C) z21_24
0 K7 d9 E9 {# V21_25
9 _0 }- }3 R' V; G3 i22_13
+ V& p  f2 g+ O4 f( b7 f" U- F5 _0 Q22_145 x/ R+ z( M/ d) z. V* d4 M
22_15
* \8 t: i( e5 f0 F1 _$ g) h9 f( K22_16
: B9 L- c, p- T8 {0 K22_17/ v" f. E! y! p7 V$ x+ \
22_18
6 a6 S9 l* Z9 H1 K, u/ t' t: D22_19
; |- x3 I0 ?: N+ x# V' Y, H22_20
$ X2 R5 b: \+ w( d4 e0 a/ o22_21
/ L! b: b" a% C8 Z. |2 g22_226 F* D3 L! O+ z
22_237 o+ H. S- {" i; i, j
22_24% \3 S2 n9 z+ s( [
22_254 }2 {' e7 J' Y# \
23_11+ S0 o7 \5 U/ x& c, B; e+ g
23_12( U( o3 k5 R/ [, {: k+ u4 a
23_13( ~5 [9 N) h  C7 z9 M* ?
23_14
2 o! Q4 Z* ?' G! b3 T2 x# [! ~5 i) f23_15% D9 y7 H1 ]+ f$ P
23_16* M5 l: z9 D$ A- K
23_17
5 O. I( c, j1 d* D. K, ?3 Z23_182 k" D1 \& O' B, j; K( F4 ~7 c
23_19
/ o9 V: {& V7 e! P23_20
+ m+ J( s, |6 C, N9 s23_21
+ ?: Q$ J% H, O) a23_22
7 n% j3 O  l9 x0 [+ X+ ]/ k8 c, V23_23' m+ r4 l- |( B6 {9 Y6 E% c6 w
23_24
% k6 W- Y0 r' Y+ e" D+ ]4 A: Z23_25
& O$ u3 g; d# j5 k" S$ G24_11" W7 U, c: Z  `8 G+ N) J  w8 J
24_12
; D* V$ d7 q6 i. C: W, B+ C24_13
. q( m  r0 P& c' u/ P- H24_143 ^0 I6 s% S+ F
24_159 I) `. f" R7 e4 p( e  R; i
24_16* d- d* i. C$ n5 U/ b/ K
24_17
( v& ]# n- ^0 O24_18
+ c1 D  g! |( f24_19
) x! z; p# y5 D" s24_20
' l2 ^0 S. [, K( k8 q+ u0 m24_21
# e4 k2 ]- t. t7 Z" B" [24_22
. V  T% g: ^! U' v9 K# f% c- f24_23
$ F  l1 \: _# e2 \24_24
- N3 n3 R( }% m$ U24_25! S7 |  F. i3 f9 o3 q7 @
25_11
) I5 U( x$ E- ^" [# N! k- k25 _12& d) |8 E/ Z: h. X
25_14) l) s# T, R5 U1 J
25_156 e4 U/ ^) Q( t
25_16
/ Z  y0 N, T' u1 E! s! F25_176 _; e! u, g# c$ @
25_18
. r3 h4 @, m2 V* U+ Z; K25_19' w& }( h3 ^: f
25_202 m* B$ ~& C" D) g6 `6 ^
25_21
2 t5 F  N* o4 p) R9 g* O% j25_232 c1 W: D: q5 ]$ Z1 P0 v
26_ 11
, b8 O/ w. u0 X  ?* R. _26_12
3 G# `( N) V6 g& s6 l26_14# V' W3 O( `0 V9 a$ I

2 ^$ Q: r" b$ l& |- h
- G9 Q$ z! l$ Z6 q+ C. x. D3 t; d& {( g

+ w$ O" d7 O. h0 S+ L1 Z
: H  t! T4 x4 ?8 s3 I
В этих файлах прописаны загружаемые геосервером квадраты геодаты,если содержание geo_index.txt и pn_index.txt не совпадает то при загрузке геодаты может вылезти ошибка,просмотрев лог ошибки увидите какого файла геодаты или пачнода не хватает.
" h! P6 \' x- t( o8 C2 I& PНастройка,находим по пути "C:\L2jServer\gameserver\config" General.properties,нам нужен следующий раздел:8 t1 S/ p/ {/ \1 L$ {. g/ Q% @. S* E
#------------------------------------------------------------- --------------5 N  i$ w" \7 r7 V  ~1 Y
# Geodata
  G. m3 j; c" I, c# ----------------------------------------------------------------------- ----1 @: F1 l! O% K  u& O; s
# GeoData options:
$ R$ \. _5 B: o2 l( T7 g' I4 S# 0 = GeoData and PathFinding OFF (default)
3 h( K, M6 |% W1 Y# 1 = GeoData is used to check Line Of Sight (LOS) targeting and, R  R" X+ ^! m  \  \# t
# L2Playable movement. You need to download files for data/geodata folder.
  b3 }9 I0 y9 k+ J* x, M# Monsters can pass walls but not aggro (no line of sight) through them.
" f1 S6 ~8 N, t/ L& r8 C; o# 2 = Full GeoData enabled. Includes PathFinding (requires also /data/pathnode
0 b$ B" s- `: u, S) w* |# files if CellPathFinding not enabled) and all character moves go through% `& o' k9 y8 v4 V0 E  E4 m& o
# geodata checks (if a mob passes a wall, pathfinding didn't find a route+ E, B( i$ A! Q5 Q: `) I- T2 W
# but we allow attack and returning home).
5 D' |+ Z# x1 R9 ]' a# Recommended server memory minimum 2 GB, rather 3 GB.) t( p# M% U7 v" Z$ G
# Default: 0
/ x( q9 [7 a% g6 @$ lGeoData = 0
% {* J3 T4 F3 k" Z0 b/ m) S& `. Q& {) C) U9 H+ T
+ f* a) }8 @2 L& H. H
# Cell-level pathfinding, produces more accurate routes but is (maybe 10x) heavier to calculate. Recommended for small servers at least.# c7 ]6 ]7 H. ~
# 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 e3 o/ q& ^. M3 n" b7 f# Default: False
) X1 I: n$ N/ U0 OCellPathFinding = False- n4 u. l/ c% o
6 m* v) }! [2 B& j" t# ]$ M7 `8 y

8 H4 c. w$ @+ d. v# True = Loads GeoData buffer's content into physical memory.
" h0 o5 Q6 M( B$ i) z- {# False = Does not necessarily imply that the GeoData buffer's content is not resident in physical memory.- d8 |9 Y1 T2 P, ^7 a
# Default: True. c% b8 I/ i  t; ^
ForceGeodata = True& G6 c1 T2 {- \$ }" ]

5 F& Z/ W9 d0 U8 D; ^

8 h( K& m' B3 M/ A5 n# This setting controls Client <--> Server Player coordinates synchronization:8 N8 Z; J; G2 V% ?) [) e; }
# -1 - Will synchronize only Z from Client --> Server. Default when no geodata.3 b' h+ J( }( X- U3 p. P
# 1 - Synchronization Client --> Server only. Using this option (without geodata) makes it more difficult for players to bypass obstacles.
  N- d9 Z$ M  v; L; e# 2 - Intended for geodata (at least with cell-level pathfinding, otherwise can you try -1)." O) q- @7 L" R- ^4 k
# Server sends validation packet if client goes too far from server calculated coordinates.
4 E2 T/ x2 {& t4 c# Default: -1
/ {: t  H+ N9 k; G3 J6 u: NCoordSynchronize = -10 G% ?+ A  E4 I

5 D) N" C8 J! n. B+ M9 l

" U- |7 f) M5 ?2 B6 W' |. c& U6 C; F3 I# v

- T" S+ `) w' H; Q% c# {# lGeoData = 03 W6 }' ^# h2 s) m

& u  F+ C0 Z  h* E+ m$ q  R

( ~; }: R+ v) z+ I9 m$ K
$ y/ g) k3 }& A0 Q2 h) O" ]
# J2 g  Z0 w8 a. u
Ставим 1 если нас только геодата,пачнод отсутствует.В этом случае мы получаем только то что агрессивные мобы не будут на нас кидаться,персы утыкаясь в стену не будут буксовать,а просто остановятся,но мобы если вы завернули за угол будут вас всё равно "видеть" и ломиться к вам через стену.; F5 W+ Q5 a. a( X$ ^
Ставим 2 если пачнод присутствует, так же включаем эту настройку:
6 _# O+ L0 E0 w* l1 l. K3 {: `  w7 c1 b' k' a. s7 c9 z

. S$ ^6 Z5 D* C1 K# h+ H
  f: _2 T& C+ b
. S- Y) u$ w0 X7 D. y$ }& O4 j" f
# Cell-level pathfinding, produces more accurate routes but is (maybe 10x) heavier to calculate. Recommended for small servers at least.. v% X: ^/ e3 f$ A
# 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.! O6 X" ^5 \* l" {
# Default: False
0 k1 V# r9 P4 E6 I! @% M% R( m& MCellPathFinding = False# o( B6 @. X; r, ~% A9 _4 p$ Z* H

  Y1 q" }& H* v) |

6 r; M( @1 _* A% x% n! R6 E- G2 k  o6 p. a3 `) z: B0 F8 t; s

* v- P* r5 v% X+ iСтавим True если хотим более сглаженную работу пачнода,но нагрузка на сервер немного возрастёт,если нет то ничего не меняем.
: L- l! c. b) V, N! U2 aПожалуй всё подробно написал, спецы дополняем если что то не учел.
4 D; k: W+ @, L. R" e( e8 E
, m0 {, D9 D) x  v; z4 Q4 |

$ \+ W. \! X9 S1 ]8 R2 wНе забывайте что если вы изменили конфиги при запущенном сервере,то они вступят в силу только после перезапуска сборки.
) n7 v! y/ e1 t+ {; ^3 T8 n/ I6 Q6 S7 }
И строки начинающиеся с "#" никакого значения не имеют, это просто комментарий или один из неактивных вариантов конфигурации.
( b+ {; Z6 U9 P4 e) H2 C& ]4 \" |





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