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; h' P2 O; L  J% @8 P' `
Сборка        L2 Java3 l( E  z8 N3 d$ ^2 S
9 i+ x1 A8 l& Q4 Y
, ^  t- U- s% b( a5 y
Доброго времени суток.
+ f8 ?$ V3 L7 i% P$ ]0 `1 r  r, L) n/ R. L$ R  k
3 w' _7 v* L& ]3 }
Часто появляются вопросы на "стёртую до бороды" тему геодаты, зачем она нужна, какая есть и куда пихать. Пример будет на хрониках Interlude:
3 F9 C$ \1 G. B! x2 EВозьмём две основные *_conv.dat и *.l2j, первую отбросим так как этот формат для ОФФ-серверов,хотя есть реализации в яве и этого формата.- W. w" K+ t/ ~1 s2 F3 ^0 d/ ~
Для чего она? Для мобов не существует стен как в принципе и для чаров, упёршись в стену и буксуя на месте вы всё таки меняете свои координаты, мобы проскакивают их шустрее.
! |$ ~( F: v9 G0 y# k' VПо скольку для мобов мир - ровное плато, агрессивные вас заметят и атакуют если окажетесь в их радиусе даже если находитесь за стеной и не видите их. Геодата поможет вам от этого избавиться, если сказать короче геодата - информация о всех препятствиях имеющихся в клиенте игры. Поэтому геодата существует для разных хроник, геодата интерлюда будет считаться не полной для грации к примеру.# [, W7 u# h' `7 F7 F
. j  l& d4 M: k& \' M& h  M1 J8 t% B
Вся карта мира разделена на квадраты,они пронумерованы,благодаря этому вы сможете определить какой квадрат отвечает за конкретную область:
; s  B7 K: z& d  y4 Z[attach]495[/attach]
# E! g' C2 d4 p9 U, h3 u- h1 @8 u# Q
) P% _; H# Y! @8 `. \( x; X
На картинке отмечена только поверхность,подземелья не отмечены как и материк Хеллбонда, но это не значит что квадраты пустые.В клиенте квадраты находятся в папке MAPS и пустые весят от остальных одинаково.% H0 ?9 y- ^5 a# [5 A  ~% _+ i; S. n( j
Геодаты в шаре полно и она разного качества, подбирайте ту которая будет корректно работать на вашей сборке. Если в квадрате есть косяки, к примеру невидимые преграды,или не можете пройти в открытые двери или ворота,то это не причина менять его на другой,существует софт для редактирования гео и невидимую перегородку можно убрать, но это отдельная тема...
# c) \7 d' O# Z5 _Работа геодаты зависит еще и от гео-движка сборки - неотъемлемой составной части ядра этой сборки,так что не путайтесь с определениями что бы других не путать,геодата и геодвиг разные вещи.9 Q, l7 K6 ?% i. q0 W
У разных команд делающие эмуляторы разного качества гео-движки поэтому не всякая гео подойдёт к сборкам каких либо команд на 100%, чей геодвиг качественней решайте сами,тестируйте, темы "что лучше" для флуда.8 Q$ ^7 p% p6 G3 r" d) Y2 W2 @$ G
( Z$ d1 s7 C6 r1 e; n
' n6 w3 J5 c4 z( _8 L3 w/ T$ \
Что такое pathnode? Отличная штука, благодаря этой приблуде мобы у вас при агре не будут ломиться сквозь стены, они их будут оббегать как и сам персонаж, создаётся пачнод определённым софтом с квадрата геодаты и его качество зависит от этого квадрата.Расширение пачнода - *.pn.
0 U" }2 V1 z1 {3 U) S1 u  A0 U7 {Количество файлов пачнода должно быть равно количеству файлов геодаты.
7 d0 v; L* H, I; Q- Z, L* ~Есть сборки на основе команды Rebellion (а точнее Fortress), такие как L2Dream, L2f ССР, Phoenix, L2Royal извиняюсь если кого забыл, у таких сборок есть возможность поставить геодвижёк на отдельную машину что бы разгрузить основной игровой сервер,но использовать не советую поскольку не доделаны, хотя возможно в платных геосервер уже реализован на 100%.- f  q6 E0 ~# K' W
Таким сборкам пачнод не требуется, их геодвиг генерирует его в процессе работы,сомневаюсь что это хорошее решение,но и не плохо с другой стороны, кому как,по мне так геодвиг sf в полне нормальный.
. k: U/ m, g8 |: S; X7 h) jСборки sf,это L2jServer - первые кто написал ява эмулятор,также L2jFree, L2Emu, L2Ambrella и др. на их основе, так же можно причислить Balancer (Fortress с которого основался Rebellion),но ему пачнод уже не требовался. Был отрезок времени когда эти команды использовали внешний геосервер (кроме L2jServer), но позже от него похоже отказались.
3 a" b, D( B" nТаким сборкам неоходима геодата + пачнод,для комфортной игры вашим клиентам.
: j5 Y8 q. r  H" p" I  U* A3 FУстановка геодаты на сборки без пачнода (Rebelion):6 M  f7 S, w8 ]/ \, K' b0 k) J. J
Покажу на примере L2Dream.
( d6 h0 Z+ m" Z% g) NПуть куда закинуть гео,сами файлы ( пути и папки могут отличаться, в зависимости от сборок) *.l2j:; J4 r- {6 D4 `6 k, Q  F
5 k3 D& K8 C* n$ w9 [) c! C+ Y0 g
; Z( V3 R2 c  g' P
C:\L2Dream\game\data\geodata: x. f: V( z! K/ ^( l: ^) V
4 T- y' o0 ?1 @3 [7 d6 S

" F9 Z4 x( o) Z9 x# K
$ o, {" ^' ~& z" u) E7 x2 z+ B
9 T* K' Q5 u3 U: o6 X- `, P
Не в "C:\L2Dream\geo\data\geodata"(это и есть внешний геосервер),а именно по тому пути что указал.
! P) I" u4 k$ S. v( h% }Настройка./ @, Y% D$ N" t5 O& M
Идем по пути "C:\L2Dream\game\config",нам нужен geodata.ini или geodata.properties:4 _  E3 V7 ^, f
#================================================= ================================================== ====
/ _6 ~; C9 y/ G( B# Даный файл является конфигуратором геодаты.
% u4 Q: H! s: B- Z#
) v/ D4 x  p  |+ G6 l# Геодату можно отключить, запустить в классическом режиме на гейм сервере, а также запустить как выделеный сервер геодаты.
7 k6 N$ `/ X+ F+ E#6 Z) f9 J6 ?4 I7 B
# На даный момент на сервере геодаты отсутсвует какая-либо авторизация(за ненадобностью).
: Z1 y6 ~+ h+ y' s- X1 z- d# Если у вас мания взлома, то закрывайтесь на уровне операционной системы.
2 X, [) R7 Y- V  {, B& K# Ну или просите прикрутить SSL.
" w4 {$ p, N9 r) c9 A$ |2 g#================================================= ================================================== ====# g# b6 a3 r/ |; o+ h- L2 [( z
( @* r/ @* i# |) c  _% {; F  @; K+ ]
" B+ V# P  m" L% y. b2 ], i
# Включает/отключает геодату и поиск пути.
- j# ^6 }2 z# @# Рекомендуется включить. Требует наличия файлов геодаты в data/geodata.
$ ^6 U( G. E- `! d" J* {# 0 = Геодата отключена.) }+ E, X& ^7 t9 A- ]2 K
# 1 = Геодата будет загружена в геймсервер.
! E; l  ?1 ?6 ~( t" S  z# 2 = Гейм сервер перейдет в режим клиента, и будет пытатся подключится на указаный адрес, в то время как5 x# z" w6 r" W9 `6 B
# сервер геодаты сядет на указаный адрес. Для работы на выделеной машине с несколькими серверами- n* k) n& u& o- @  w$ t8 A
# рекомендуется гигабитный (и выше) лан. Среднее потребление траффика на осаде Адена = 400 Кbps на одного игрока,
% r: {. R7 m, W  @2 T, ]& ^# с учетом активированных им гвардов. При обчной игре среднее потребеление до 200 Kbps на 1 игрока./ E" f" R! F$ g- b0 ?% L  D2 B
GeoData = 0
: t: H  X) r$ E! R. ~7 D; m7 r% N: |' T* J( s1 S: {

) W. I6 e9 o! L" @* Q7 K/ B' D# Хост для сервера геодаты.$ h0 |/ }' J5 ^
# * Забиндит все интефейсы.7 m" u0 ]8 z4 B0 C9 Q% R& _
# Игнорируется при GeoData = 0 или GeoData = 1& D7 b" n# C0 E0 K$ q+ [3 F
GeoServerHost = 127.0.0.1
" Q+ B5 n+ U' P' i2 U3 p  y9 y9 k. B6 X& G# x
6 k; F1 L/ h* O$ P
# Куда будет пытатся коннектится клиент.6 o# `( n: V( }* R5 P
# Игнорируется при GeoData = 0 или GeoData = 1
' j$ V: p0 q1 @$ j, R! L2 d3 _GeoClientTargetHost = 127.0.0.1  Y/ y8 M# F2 C* e( l9 r
  v/ p. O. |3 L; E* K4 {& _: w

9 z3 Z# X8 x( |* m# Порт для геодаты.
; o! h& B( b4 P% `4 a7 n' d8 l& c; q# Сервер откроет на нем сокет.6 F7 M1 F. w  F1 T
# Клиент будет пытатся подключится к нему." C0 r2 c$ t: y" W4 k8 N
# Игнорируется при GeoData = 0 или GeoData = 15 M7 E, ^7 R% h, D: \
GeoPort = 9050
1 f/ h+ w, n: d4 o/ C; }7 l7 ^  _2 O# n4 ~% c) {3 ^
) Q0 \4 W1 C  z) v
# Сглаживает путь.
1 `9 O- h$ S/ [- d  b- Z2 \# Стоит отключать только для дебага.% K$ W* p% D& z" \
PathClean = True8 S. K$ e7 ^  y; k& t5 T

0 L$ @$ n& h; @# j! a' U7 ~

5 S% ]9 T9 E1 i% k6 U6 ?8 D# Обрабатывать ли двери в геодате' U1 W7 x6 J8 u
# Настройка влияет на ГеймСервер/ z/ Q9 e+ ^$ ?; m9 m3 v4 e
AllowDoors = False
7 s4 C* M0 Y; h* ^; D7 f$ D6 Z/ i; ]
% C# W0 |- w* b# e
3 S+ j0 K$ Z# c& e, U) u. t
PathFindingBoost = True
2 w0 k2 [7 m* {' h3 A# y. o2 [PathFindArea = 250
& P( i- `! V! Y0 b5 ^Внимательно читаем,нам нужно это:
) A3 q2 \" G2 N7 Q% x3 r, o, A! e! A3 h1 _; z: Q

$ _3 a3 H8 s8 a% b" k; B  T% f1 m* i" y2 E7 F2 n0 L

* U: j1 k/ f% I3 u% \5 k; t6 P' H# Включает/отключает геодату и поиск пути.7 u6 _/ s1 F+ ^+ D" {- }- M7 Y. d
# Рекомендуется включить. Требует наличия файлов геодаты в data/geodata.# n1 r& j$ Z; l8 k- c9 |9 K$ i
# 0 = Геодата отключена.
/ l( Y6 j: H! k' j7 y# 1 = Геодата будет загружена в геймсервер.
: P3 \: k: k$ S! P+ j; w' t2 c2 H# 2 = Гейм сервер перейдет в режим клиента, и будет пытатся подключится на указаный адрес, в то время как
# x9 e! f9 G7 @" Y; [6 j% i. q# сервер геодаты сядет на указаный адрес. Для работы на выделеной машине с несколькими серверами  Q" t& K6 d5 [  x" d: l# Y+ b
# рекомендуется гигабитный (и выше) лан. Среднее потребление траффика на осаде Адена = 400 Кbps на одного игрока,
# b8 N, |3 |3 J6 G- S0 D# с учетом активированных им гвардов. При обчной игре среднее потребеление до 200 Kbps на 1 игрока.
$ X3 M9 }1 c0 u, W# s0 H! mGeoData = 0
$ q7 O; L4 N# i$ k: r/ Q9 P' p& m: P3 Y! x, v( U% ]. T
! \, L. B# m3 N# U, O0 z

! S) u) I9 ^# T

* ?8 T7 o' C4 c, nВ этом параметре меняем 0 на 1.7 k" O1 V: [2 V, B
2 ставим в том случае если всё таки решили поставить геосервер,его настройки:5 E2 R) b: L" ~( d: o* B& m6 l0 f
# Хост для сервера геодаты.
/ Z( X3 z: c+ {& w# * Забиндит все интефейсы.
  e( @2 u) F9 ?6 v+ O# Игнорируется при GeoData = 0 или GeoData = 1
- I- f1 [/ V( y; X6 l* W# [+ T6 KGeoServerHost = 127.0.0.1
  T* t! C+ }# f: h& ~% j4 P! ^" f! e2 E, x! _3 G

; X0 ]4 e% a' |4 I) @2 j1 z8 u# Куда будет пытатся коннектится клиент.
3 K6 u) m. s2 B0 E# Игнорируется при GeoData = 0 или GeoData = 18 o7 I: {3 `  k
GeoClientTargetHost = 127.0.0.18 i, _! |( l3 J! K

! m8 w6 n* d5 Z! p' m7 z/ `

! c: T% E5 J8 t8 f# Порт для геодаты.4 K# \4 T* R/ Q; D
# Сервер откроет на нем сокет.
3 `) Z' u  h1 Q! e1 \# Клиент будет пытатся подключится к нему.4 y# P& Y3 `; G; G
# Игнорируется при GeoData = 0 или GeoData = 1
7 L) O9 i6 P; N; Q. |2 i$ `GeoPort = 90504 ]* {( ^  F$ a5 [( O3 y
Здесь всё ясно,можете зайти в "C:\L2Dream\geo" и увеличить выделяемой оперативки на геосервер изменением значений,StartGeoServer.bat:/ f" q0 M" b5 K9 o; _( r
9 I, ?) g* z$ ]' \0 W; A( r. ]) e

8 y6 U! ?" ?; F' U. e, d
1 S0 v8 Y+ u1 ?
  B$ q0 n$ g8 J3 ?
java -Xms512m -Xmx768m -cp l2dserver.jar l2d.game.geodata.network.geoserver.GeoServer
+ A% C, B" G1 f5 d: K. L, `
7 k6 O# K; @/ o- T

+ ^4 s6 r7 \" P
5 F4 |. M' ]6 q$ Q

1 t: t7 R2 F9 D6 x- j+ kДвери,можете включить если уверены что они у вас работают,так как их "непробиваемость" не во всех геодвижках реализовано:! T3 r+ g5 q/ S3 l
7 R3 w! \+ a8 w0 C4 l
0 o1 F. }' s8 a; {# ]8 U+ ^2 A

" C' t  ^" n8 o: e

' l! z/ A& T9 W$ ]% K+ u2 r2 t% k! z1 q# Обрабатывать ли двери в геодате
2 k' U3 M8 S5 m! q2 I# T# Настройка влияет на ГеймСервер& G! ], _/ h: t. ?1 m
AllowDoors = True
% g; s5 Q7 A7 b. @  Y- H( Y* xТеперь sf,возьму как основу L2jServer,за всё время он не сильно изменился и не использовал геосервер.8 c8 {, T; K; F5 p- ?. K
Пути размещения файлов геодаты:
' t8 R+ ]8 ?+ r- o' w3 r
4 e+ I/ x5 Z" Y) t/ g/ X

8 M% j+ i+ T' ]C:\L2jServer\gameserver\data\geodata; a& S$ E" c4 n1 l

6 z7 y( y% P0 T$ B, J

/ w7 t1 P+ V+ K+ l1 l
' L# v- t3 W: D% Q
, h1 Q/ h: j* r
И патчнода:: K+ C  [5 U# j5 P3 P0 R' v

. }6 o2 t$ F2 P) r$ ^

9 O0 q$ A! b9 \( N# t: C9 JC:\L2jServer\gameserver\data\pathnode3 [" \( ^, x3 ~. l" f

0 \8 [9 b) M4 q

3 m9 K& O; |4 c8 Z9 H2 ^5 \2 ~4 W- r
% J8 L1 h) u# x& F5 I
В папке в месте с геодатой необходим файл geo_index.txt, в папке с пачнодом pn_index.txt,их содержимое должно быть абсолютно идентичным:
4 W- E4 `! E3 r& T1 m3 f$ N; l; y7 B" O9 a. K6 h

5 K% k& Y: ]4 Z6 E* \$ V1 n8 P( y' j, d- [) W: E& O2 H; m! D/ o7 W
. H/ u& {- C% c! e
16_10
4 d3 [; p* t5 B8 {9 u6 C- u+ o16_12
$ r$ ]! d4 h5 K; y) P) w/ c" X16_18
7 o) J* W- Q; \16_19
& w$ N9 L( D$ q16_20
' m  K2 Z) T  s7 Q3 B# S16_21
6 B$ N3 q/ C" F: l; ^! p, {+ q16_24% t7 h8 [4 [, z! ~" Z- |1 S
16_25
/ X5 z9 ?2 ~: i' |: q. v/ Q: ]17_10
  d' P" X; p. o" F$ {4 W17_11
1 K5 d3 v* g4 ]/ r17_157 b3 A# V; H6 J8 B+ H  O& e
17_16
/ @% [1 g2 X* L% y( X' K17_17
( f+ f. J; \7 u! d17_19
' n; i' |# p1 j! T1 E$ i# |2 g+ X17_20
( ^7 r, |. Q) @, N# n; ]17_21  O# O2 }4 v3 Y3 t
17_22
' t% k/ N1 A' p5 k17_23
7 U" `5 V1 ?3 p17_24. l' r! p! N3 b6 h
17_25
$ j$ m& V5 A9 _! D18_10
  z) ^( |/ ]$ y# m2 @3 F  _4 Y18_11
/ k& N9 S' _$ \; x# f18_14
5 d; ~2 Y3 \) n0 i18_15
7 @; C3 Q  a9 o+ S0 J& o  ^18_16
" Z* a/ u* Z4 V" [+ ~  E18_19
  F2 n7 J( H- ^0 o; g, M1 m9 y, d7 z18_20" G4 F) g  `% b4 ^% s! Z
18_21% W. s; h5 A- G0 ]# X; G3 {
18_22. d+ R; L4 K$ e4 j, o# `$ K$ \* J
18_23
$ k, c- @1 q, {5 K& V$ R18_24
9 I) w* @4 W3 N; O& G18_255 R% f, J$ A0 w, |7 s9 f" _% j
19_10
' E- d- y# B7 K& j' |& A19_11! k5 j$ w- x  A' k8 S
19_13
$ n" n8 d3 E9 o( I# D/ _19_14' u) n: `4 D5 ]8 O& Y
19_150 f( I! X! C, |" s5 e: t8 v8 M
19_166 C* }/ f0 y( I; ?4 I
19_17) I1 @/ T. ?* d( U  r
19_18* `, E2 Y7 _$ i; g/ |
19_19+ s4 P) \* o  F9 l/ A
19_20) j( q+ f! ?) Q2 t! N
19_21
: S! h- z& y) ?' I19_22
7 Z  x% q+ Y/ z/ u: {19_23& ~! H9 E5 K) E' _8 L
19_243 S5 I! b. \' ~
19_25
9 M4 t. `7 n$ y+ Z19_26
  t$ ~- Y" Z  u- E! u! h; s2 K20_109 Y" P  b( R) d3 H+ n- ^! Z; a
20_11* p& V, u% G' N# |1 ]
20 _13
! F( }, F! A7 s5 K20_14$ F& N9 b) g+ }- e) a( I7 F! [8 m, k
20_157 s- G3 y: Z1 I) z. S
20_16
& V% W5 D$ ]+ N% ^6 L) D- I20_173 ]4 x  F6 b8 N1 u
20_18) p9 I$ C0 @0 R! W. x
20_19
) b5 `, W( ^  b; Z- D+ Q8 ^6 q7 `20_20
8 U7 O4 F9 O& [1 ]! @2 ~& w  K) H1 ?20_21+ e+ e) o3 ^8 {$ a2 E0 u% J% d' ^
20_22
& r. o. i) A. y; F20_ 23
0 T* T" v5 W- }; J7 @20_24
2 F! i8 p0 ?+ D: q- ~/ H  z2 s20_25
( a+ ^2 y0 ]( K) {+ n6 F, p3 w7 g$ O4 w20_26
% _* j5 y! S% U- ~21_112 z" \: T$ O* a1 `% `4 s
21_14# e: I0 s* O9 |, I
21_15
* {. A. i6 e( O: m7 K5 w! \/ m) s21_16' q& {+ P4 ]# b2 D* g
21_17# w: w' g: A- x9 ?; \2 w
21_18
  y% |5 ?/ Y% K9 Q3 {( ?" J2 I21_19
3 W9 Q" N4 f4 K7 Q% r5 D, ^, F21_200 H9 q; L) d0 D- `" r1 D$ @1 Z/ W
21_21
/ T: |7 N+ ~/ }; {# w# R' h21_22
, d( ?% b% j2 B" k6 g5 |; t9 w21_23
; b9 o( u0 ^7 g' P! U; r" B: C21_24; f/ {5 F- E' s/ N( Y. Z8 S
21_254 v$ i, h* D' s
22_13
, u* t* ?, F9 \3 ~0 ~0 P  G! Q22_14
$ j& [! ^$ Q7 |5 C$ d+ z& X4 m$ r22_15& V7 E  M; G% e7 `4 q5 W: e
22_161 a+ s8 Q2 C* N, R1 [& P
22_17
8 T/ C* Z) @9 y- y6 H# L22_18
" W! a" M% A2 Y8 P' T* e22_19
2 O( r( \# f: x22_208 t$ s/ r1 y* w1 p
22_21
0 M3 `/ w& o: |22_22) K; g, F4 F8 i$ V& c
22_23! Z0 a1 T, n  N( Z* D: G1 }
22_247 g% W% Z- E' W9 n+ N: q# q! A
22_25
2 t# ^. _" H9 M3 r23_11
7 x& a3 C( {1 k5 L23_12' R" N% X- l! S2 O) b
23_13) M! m$ b# c; M. W2 J% F6 C
23_146 R4 t! H! e1 E3 Z  c# N1 u
23_15! d! H" W8 m/ y  H) g( I1 {
23_16* a+ X$ z9 _5 W9 g  [
23_173 q  T4 D1 n. r
23_18+ r1 U4 y$ |* z% R9 O& N: |
23_19
7 X0 M1 C; C4 X( F9 _7 K23_20+ D- S0 j. Y3 F) j+ i
23_21. E9 ]3 b7 X& \3 g8 x! i4 M$ M
23_224 A5 I+ y5 w* }! v5 E& J
23_23
; D4 b& r$ n/ y1 r( {9 l/ m23_24
8 S$ `& h/ I2 q23_25! k# U+ U3 @! W/ n. s$ G7 ]6 d  Y
24_11, S. U) [( O4 Y' ]
24_123 l; J: ~' R! |+ u$ R
24_13
; `6 {6 P6 B7 C# q24_14
+ v. T( \2 y* g24_15
+ O/ P% j: ]4 Y' [4 v6 g24_16
* o$ m4 ]7 |8 a. z( m24_17# Z# A- q) J1 x: Q. G
24_18. K) t, I5 E8 [0 }
24_19% J! I* t$ T+ {& _3 s( Z! Y& f
24_20% M- a+ C- Q- W# c: L; U1 Q( R
24_217 _8 v2 O9 i% O% {: y
24_22
. M  {# ]% y* b9 O& j  [24_23
( ~- N3 I3 u- `9 ]24_24$ x" W1 X; H. _# e/ X/ K" ~
24_25
& b( A( A6 w1 ]7 H" G" T+ s0 f! k25_11
) x$ m' ?2 C/ g$ v$ t: q. ]  W25 _120 r" u3 M0 J7 M3 }# Z) J
25_14
5 u! m; f* A4 o1 i& L3 D, N: ]25_15
, u2 b- v2 u" p; C25_16" ~9 R8 p  C2 L; _' P
25_175 e( }$ q% ~* @* S/ U( o
25_18  H+ Y3 O* Y" L/ W! L
25_19
6 R( i1 Z3 W: K2 Q4 c8 n25_20
7 N( E1 L0 w; g  `+ i: v25_21: ^$ a0 r  K4 H/ O, z3 Z! f
25_23
  |6 B& B5 Q' v+ P# Q5 @2 z# r* }26_ 11- ~' I7 k! `8 R* }6 M! F# Q" f4 p
26_12
! `2 C2 c8 E+ N. `26_14
3 m. X  w5 R" `4 O/ ?, E% b3 G4 a  O, s" A' _2 T2 E
9 ^! o8 q: K$ _* X5 {

1 i* k$ T8 N& p9 k
* K+ e/ x$ D- v. C
В этих файлах прописаны загружаемые геосервером квадраты геодаты,если содержание geo_index.txt и pn_index.txt не совпадает то при загрузке геодаты может вылезти ошибка,просмотрев лог ошибки увидите какого файла геодаты или пачнода не хватает.+ J4 _1 F! Z, S
Настройка,находим по пути "C:\L2jServer\gameserver\config" General.properties,нам нужен следующий раздел:# _8 p: H: D( P$ k* q3 k
#------------------------------------------------------------- --------------! H4 L' G+ `, _0 V" {8 d, |1 E
# Geodata  ]* G7 y3 I, c
# ----------------------------------------------------------------------- ----3 R! W# I0 d  n
# GeoData options:
6 p  C9 W, ]$ X& f2 a# 0 = GeoData and PathFinding OFF (default)- a1 P) X; K) F+ Z' w" f% T8 L3 G
# 1 = GeoData is used to check Line Of Sight (LOS) targeting and
) `( b4 @) ?$ G- ^. \/ |; _% r# L2Playable movement. You need to download files for data/geodata folder.
) f; g* t+ l0 ?+ h; D8 X* \1 Z# Monsters can pass walls but not aggro (no line of sight) through them.- O3 j2 p4 L5 q9 u  @2 I
# 2 = Full GeoData enabled. Includes PathFinding (requires also /data/pathnode
+ X% v% X+ O+ @- ~/ t! x# files if CellPathFinding not enabled) and all character moves go through
# p7 k. K2 h6 l7 v9 T# geodata checks (if a mob passes a wall, pathfinding didn't find a route* _7 b0 D' @! u* s# w
# but we allow attack and returning home).
, a5 n4 c4 t. A5 q2 F+ o# Recommended server memory minimum 2 GB, rather 3 GB./ j3 o; @$ o) m  `8 k7 \
# Default: 0/ e5 }0 k* J# e
GeoData = 0% e* B( m3 q1 x: [- |, ~# P

" y2 k) m5 D4 d

( Q# [! {1 v  s! j  A# Cell-level pathfinding, produces more accurate routes but is (maybe 10x) heavier to calculate. Recommended for small servers at least.0 U8 P; `/ T6 r; R( F
# 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.* h  c3 k. F4 N* c" P0 \4 b3 z
# Default: False$ V5 z/ U0 _) N* u/ g) r  S
CellPathFinding = False9 ~  n2 h! A0 a  [: w3 p7 y. i
) q  t* ~; P) y4 H# @
0 R  u2 J$ w0 m" s& B4 J% ]' r
# True = Loads GeoData buffer's content into physical memory.( f* J& K& ?" f
# False = Does not necessarily imply that the GeoData buffer's content is not resident in physical memory.
' C- w  {3 b9 G% i4 J# Default: True! F; x9 N- [1 F6 }# ~: w5 |
ForceGeodata = True( A- `0 L! E6 w: w2 g& d3 W: P* t

8 u# D5 _% ]4 n2 i

' ]+ L. l9 h% l; N4 U( ]# This setting controls Client <--> Server Player coordinates synchronization:
0 W' E, H$ t+ ~6 n1 ], d8 Q# -1 - Will synchronize only Z from Client --> Server. Default when no geodata.
1 m8 `8 ?0 t1 \( }# 1 - Synchronization Client --> Server only. Using this option (without geodata) makes it more difficult for players to bypass obstacles.
3 e7 T$ C. E, w9 `* r+ G# 2 - Intended for geodata (at least with cell-level pathfinding, otherwise can you try -1).& w* ~: t" G4 W7 Y  _- c0 K5 U1 ]
# Server sends validation packet if client goes too far from server calculated coordinates.& }% b$ h  x  `! ?* T& R8 B0 N) t3 E
# Default: -1
6 D! T) A/ j- y4 pCoordSynchronize = -1# p! v  f: N7 Q4 A
( G; w, j/ c# L3 ^2 p% ?3 b3 X1 ?

  O) U# Y4 w, f+ O
* `1 |0 `/ J8 l
' e" A& T/ W/ e
GeoData = 0
, Z  \1 r+ x+ m" ~# A. f
/ D. N& h7 j$ Q2 z4 x
4 }! |* O& W) C( \

0 \. ?! p5 J/ F

6 z( W% H) y' eСтавим 1 если нас только геодата,пачнод отсутствует.В этом случае мы получаем только то что агрессивные мобы не будут на нас кидаться,персы утыкаясь в стену не будут буксовать,а просто остановятся,но мобы если вы завернули за угол будут вас всё равно "видеть" и ломиться к вам через стену.. W1 e1 c) R) f
Ставим 2 если пачнод присутствует, так же включаем эту настройку:7 j6 j) S2 V* g% _3 d) E

. m. n8 l$ r  k
7 M) h2 B9 v, m% m! s6 w9 ?

- [; s0 L* _) S" U
4 N* g% g4 X& w, S" `/ w8 p- N' V
# Cell-level pathfinding, produces more accurate routes but is (maybe 10x) heavier to calculate. Recommended for small servers at least.
% {. r8 G, p- M  Y" X* F# 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.. G3 L+ c* ~- F$ t. x; b* q# c
# Default: False
% {+ p. y# i& Y. s' }$ [CellPathFinding = False& L' A5 ?4 P! E. B) r
7 P* w  j- E' g4 m/ H  l, j9 {* n

: a! C8 O; M$ |* P) W: n/ R' Y, \9 Z+ Q8 E1 s
! u; S" _! D$ `' Q% c
Ставим True если хотим более сглаженную работу пачнода,но нагрузка на сервер немного возрастёт,если нет то ничего не меняем.) c- V/ M* j+ K' ?7 J4 ?7 s5 L! \( n
Пожалуй всё подробно написал, спецы дополняем если что то не учел.( ~3 |1 X9 U$ f3 K
9 S7 {8 {, @+ c
# a3 N. ^' _6 y, V, W" @  c
Не забывайте что если вы изменили конфиги при запущенном сервере,то они вступят в силу только после перезапуска сборки.+ E; F" @: V; b/ b
" S% R8 \1 d% L+ Q: s0 a
И строки начинающиеся с "#" никакого значения не имеют, это просто комментарий или один из неактивных вариантов конфигурации.1 I' `* C6 I1 _' x
2 m" p" v( C  ?  q7 v





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