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/ C( J3 `: \' ^/ {
Сборка        L2 Java
% b/ G9 u8 n1 r" a" j* y3 R
0 B: c, p3 f5 Y& l1 M
& Q$ A1 K: Y; ~# u
Доброго времени суток.# G9 Z* t- i/ O5 P. b! B( k% l

4 w+ Q- H, }" N
% `3 T* A; Z0 D/ E' V. ]
Часто появляются вопросы на "стёртую до бороды" тему геодаты, зачем она нужна, какая есть и куда пихать. Пример будет на хрониках Interlude:
0 ]6 l0 P. K# EВозьмём две основные *_conv.dat и *.l2j, первую отбросим так как этот формат для ОФФ-серверов,хотя есть реализации в яве и этого формата.
% v8 z" }, F7 E: U6 OДля чего она? Для мобов не существует стен как в принципе и для чаров, упёршись в стену и буксуя на месте вы всё таки меняете свои координаты, мобы проскакивают их шустрее.
3 ]* [7 D' m$ n: X( s5 h6 y1 sПо скольку для мобов мир - ровное плато, агрессивные вас заметят и атакуют если окажетесь в их радиусе даже если находитесь за стеной и не видите их. Геодата поможет вам от этого избавиться, если сказать короче геодата - информация о всех препятствиях имеющихся в клиенте игры. Поэтому геодата существует для разных хроник, геодата интерлюда будет считаться не полной для грации к примеру.
% h5 `& g' F: R+ j6 I2 e
* E% a, N9 [/ p6 Z( c. \* A3 \, K; wВся карта мира разделена на квадраты,они пронумерованы,благодаря этому вы сможете определить какой квадрат отвечает за конкретную область:- L/ @; Z$ h( T( |: c
[attach]495[/attach]
! ^: P6 j( [+ m$ e. z' W7 p* b8 ^7 L
# z5 x: `* m9 Y6 p3 w0 q  J
На картинке отмечена только поверхность,подземелья не отмечены как и материк Хеллбонда, но это не значит что квадраты пустые.В клиенте квадраты находятся в папке MAPS и пустые весят от остальных одинаково.
4 k; J2 N( a9 @& z& @Геодаты в шаре полно и она разного качества, подбирайте ту которая будет корректно работать на вашей сборке. Если в квадрате есть косяки, к примеру невидимые преграды,или не можете пройти в открытые двери или ворота,то это не причина менять его на другой,существует софт для редактирования гео и невидимую перегородку можно убрать, но это отдельная тема...$ i6 K+ d. d9 f/ {6 K2 [& e
Работа геодаты зависит еще и от гео-движка сборки - неотъемлемой составной части ядра этой сборки,так что не путайтесь с определениями что бы других не путать,геодата и геодвиг разные вещи.
5 G+ m# P& I' ?- L4 Z+ wУ разных команд делающие эмуляторы разного качества гео-движки поэтому не всякая гео подойдёт к сборкам каких либо команд на 100%, чей геодвиг качественней решайте сами,тестируйте, темы "что лучше" для флуда.+ z2 ]8 X7 b1 V( c) n! l
/ N5 Q; t- Y: w: c  s
6 X  L+ ?' n* y7 Q' R
Что такое pathnode? Отличная штука, благодаря этой приблуде мобы у вас при агре не будут ломиться сквозь стены, они их будут оббегать как и сам персонаж, создаётся пачнод определённым софтом с квадрата геодаты и его качество зависит от этого квадрата.Расширение пачнода - *.pn.( a3 {9 w8 s. d% ?% I
Количество файлов пачнода должно быть равно количеству файлов геодаты.
. x: ]9 d4 V1 r! P1 qЕсть сборки на основе команды Rebellion (а точнее Fortress), такие как L2Dream, L2f ССР, Phoenix, L2Royal извиняюсь если кого забыл, у таких сборок есть возможность поставить геодвижёк на отдельную машину что бы разгрузить основной игровой сервер,но использовать не советую поскольку не доделаны, хотя возможно в платных геосервер уже реализован на 100%.
& Q" O. h2 r4 u. }& ?# z3 u  s- cТаким сборкам пачнод не требуется, их геодвиг генерирует его в процессе работы,сомневаюсь что это хорошее решение,но и не плохо с другой стороны, кому как,по мне так геодвиг sf в полне нормальный.
$ H) }. [+ F" o* P& l4 [+ }: X5 a# IСборки sf,это L2jServer - первые кто написал ява эмулятор,также L2jFree, L2Emu, L2Ambrella и др. на их основе, так же можно причислить Balancer (Fortress с которого основался Rebellion),но ему пачнод уже не требовался. Был отрезок времени когда эти команды использовали внешний геосервер (кроме L2jServer), но позже от него похоже отказались.
- G/ j6 j. d% N1 j1 zТаким сборкам неоходима геодата + пачнод,для комфортной игры вашим клиентам.
/ V1 v  D& E0 ?, |Установка геодаты на сборки без пачнода (Rebelion):
- a1 s/ z: K" ~6 L& J- v- Q$ Y( |Покажу на примере L2Dream.( N. Q; U  A4 H
Путь куда закинуть гео,сами файлы ( пути и папки могут отличаться, в зависимости от сборок) *.l2j:4 I" T# x4 `/ h; [! K

2 }& m+ S- ~2 L2 @9 l0 @, K7 Z

! F3 P! G2 U4 W" FC:\L2Dream\game\data\geodata9 j2 L# D* S- c6 @/ s. t9 u4 \" c
) k9 b" z8 ~$ x' v. _" ~; `

; O8 x5 J( m- r1 e' M1 u
' t* h6 i: [% F8 w& Z" D) M
3 K! x, M; B3 D3 z
Не в "C:\L2Dream\geo\data\geodata"(это и есть внешний геосервер),а именно по тому пути что указал.
' V# U2 A, i: z3 {5 d! b4 r* }Настройка.
1 r& Y& W0 U( g" |- o9 cИдем по пути "C:\L2Dream\game\config",нам нужен geodata.ini или geodata.properties:: Z% ]4 d, E, [6 ?) Y, k7 @
#================================================= ================================================== ====
% @3 b3 [& d* ]# S. |# Даный файл является конфигуратором геодаты.
+ g+ P- ~- U' V4 q5 N#
6 r8 A: N+ W. S6 C# Геодату можно отключить, запустить в классическом режиме на гейм сервере, а также запустить как выделеный сервер геодаты.. j, w; ^. T7 g: I2 N$ i
#% Y% T; Q! `8 d6 H
# На даный момент на сервере геодаты отсутсвует какая-либо авторизация(за ненадобностью)., b. k; \! Q! T: B/ e! m/ ?
# Если у вас мания взлома, то закрывайтесь на уровне операционной системы.1 U3 k5 S- G) V# ~6 b  c
# Ну или просите прикрутить SSL.) W/ E, m! m: h9 c' U
#================================================= ================================================== ====
0 R: p, n% f8 X- Y! p% ?0 p% F9 p9 t# i6 Y# I
8 W) E0 W6 Z0 s& n7 p" c
# Включает/отключает геодату и поиск пути.. G( _- L$ H0 q. r& F4 z
# Рекомендуется включить. Требует наличия файлов геодаты в data/geodata.
! H8 A8 y8 }9 z: D% i5 b* S8 q# 0 = Геодата отключена.
  t2 K- C7 X8 l6 z0 F# ]8 ~, @# 1 = Геодата будет загружена в геймсервер.6 G3 x2 j$ s  |" {9 K' [4 _# P2 G( F
# 2 = Гейм сервер перейдет в режим клиента, и будет пытатся подключится на указаный адрес, в то время как
' l9 H, @" s& K* `& q* X7 b, L6 {0 L# сервер геодаты сядет на указаный адрес. Для работы на выделеной машине с несколькими серверами
# T( o' m+ ]1 r( S! l+ C6 ^# рекомендуется гигабитный (и выше) лан. Среднее потребление траффика на осаде Адена = 400 Кbps на одного игрока,
: ^  g, ^5 s4 X5 I5 s# с учетом активированных им гвардов. При обчной игре среднее потребеление до 200 Kbps на 1 игрока.8 K) {! J/ z7 m+ [  G% \
GeoData = 0
/ o+ w% \/ G+ D+ ]; y
1 ~; W& F- m. Z, D/ `' z0 @0 y4 V

) ]5 k5 \3 [0 s) \7 R# Хост для сервера геодаты.
' r% s4 N  }9 ~! B, T; z  i3 z" S# * Забиндит все интефейсы.
$ t% x  u. H' ?" Q, e' p# Игнорируется при GeoData = 0 или GeoData = 1
' Y1 z/ g4 y: s+ h1 I4 HGeoServerHost = 127.0.0.1# h5 n+ K( d+ K2 T
. ~3 R; L6 B7 o3 k  a; Q

; {; r, T- b8 K% a+ s# Куда будет пытатся коннектится клиент.% @$ E2 ^: I4 h! o; k2 n& z
# Игнорируется при GeoData = 0 или GeoData = 1$ ^5 ~0 f6 b9 y
GeoClientTargetHost = 127.0.0.1& i' t/ ^/ K7 S+ D
* C6 o" l7 W/ M, E( X1 L& x

+ u% J1 D( Z4 E6 q1 s, p& P# Порт для геодаты.
7 c8 E+ d1 z1 ]  N4 Z' |) G# Сервер откроет на нем сокет.$ ~/ z9 n3 a: c7 G4 Y  ]
# Клиент будет пытатся подключится к нему.
  {; Z( A+ M( X% S! u; @, Y# Игнорируется при GeoData = 0 или GeoData = 1$ y5 G3 z$ K( t
GeoPort = 9050/ s3 p# C+ `! g+ d) n, q

2 h9 L0 N8 X; t' @/ z4 j

; B- @7 J8 G8 }! [0 @  U# Сглаживает путь.
: |- g2 k) S) k* u0 Y8 p6 @# Стоит отключать только для дебага.
" y# [2 ~, f. e8 ?+ SPathClean = True- A5 }5 [0 ^( X5 D

/ S4 M- f* b6 {- M8 h9 _
' h0 a0 D. J* i8 u+ U( K
# Обрабатывать ли двери в геодате. F- [, I- u: z3 R5 ~; z9 n
# Настройка влияет на ГеймСервер
$ H3 Z+ Q' b& Q; o6 pAllowDoors = False
) u% ?  k  T6 \3 a4 x, x( O  Y
% O. i+ `, T8 k, x2 T% O% I6 u
: ]3 b% E; _3 Z! p* J2 L
PathFindingBoost = True8 R2 I/ U) P6 I
PathFindArea = 250
; L5 f$ B' y5 RВнимательно читаем,нам нужно это:
5 Y% B. g+ I% N
9 ]. w. F8 C: f3 s3 `, c1 j8 m) D
, t2 w1 _3 J( `  }- J0 ?, w
0 G. f% f6 h2 E: H( A0 v+ c/ X
- T5 J; F$ v3 _6 S
# Включает/отключает геодату и поиск пути.7 q' D9 p: q: `' y' h
# Рекомендуется включить. Требует наличия файлов геодаты в data/geodata.
5 A# U  A5 S/ H7 S5 N& U7 K# 0 = Геодата отключена.
, Y/ B2 ]. x4 R6 {& O, e# 1 = Геодата будет загружена в геймсервер.
$ j# E; p. c% i! @& d9 x+ j8 m7 Y# 2 = Гейм сервер перейдет в режим клиента, и будет пытатся подключится на указаный адрес, в то время как
) J4 a( h" h( j. H3 j7 s- i, g9 O  J8 J# сервер геодаты сядет на указаный адрес. Для работы на выделеной машине с несколькими серверами3 K& H9 L+ E& |% v) U- F/ d2 n: q
# рекомендуется гигабитный (и выше) лан. Среднее потребление траффика на осаде Адена = 400 Кbps на одного игрока,
% g; w- n8 H- _! o* c$ E# с учетом активированных им гвардов. При обчной игре среднее потребеление до 200 Kbps на 1 игрока.! o  o. ~" x8 n  O8 F0 p; Q2 n
GeoData = 0
5 W1 D* L6 Y% B* h% v0 }* d, ^5 N' m: T
0 |5 B' G. E& Z- q* m+ E, c

1 e" R; }: c9 \0 y' b# [

  Z3 i8 Z4 T- w+ y, l2 H7 @1 G9 SВ этом параметре меняем 0 на 1.2 G; Q8 `$ X$ c% l% z
2 ставим в том случае если всё таки решили поставить геосервер,его настройки:: U  \8 a7 y7 n1 s. S! ^
# Хост для сервера геодаты.
& n* s2 Q; R/ ]# * Забиндит все интефейсы.5 r$ M2 g- @( f6 Q8 o$ a# ]
# Игнорируется при GeoData = 0 или GeoData = 1
" P6 u: F; U% y9 ^( lGeoServerHost = 127.0.0.1/ B2 q" o) z+ q

. ]3 Z) J! [8 a: [

+ ]: G8 x) b- H& w7 Y( ^# Куда будет пытатся коннектится клиент.
7 m5 |  L$ T# t0 i0 S# Игнорируется при GeoData = 0 или GeoData = 1
: [  h5 ~. _& e4 E+ w( o* u2 ?  MGeoClientTargetHost = 127.0.0.1; G+ F9 w. N* N7 B& d% _
" Q9 Y3 @7 W6 ^' M7 Z- p

1 r8 U- b( M/ X8 S* \# Порт для геодаты.) P5 Y) W6 ^2 i3 n7 Q
# Сервер откроет на нем сокет.0 Q3 T8 F' @, c" t' `' Y
# Клиент будет пытатся подключится к нему.
3 N8 `2 ]& q. t6 h) F7 f) T/ B) f( n# Игнорируется при GeoData = 0 или GeoData = 1
1 k/ q# a1 i# E4 x0 C" dGeoPort = 9050
- Y2 k3 @1 m: i" l( x' D6 {Здесь всё ясно,можете зайти в "C:\L2Dream\geo" и увеличить выделяемой оперативки на геосервер изменением значений,StartGeoServer.bat:
/ D* o. U! @8 o/ G# s$ G% f. \& b: o

; o, M7 m; [' Q# |+ o/ Y
, Y7 d1 Y4 n2 h3 V- i* l) e

/ h: h0 V/ r; E& _1 p6 _1 y9 {2 sjava -Xms512m -Xmx768m -cp l2dserver.jar l2d.game.geodata.network.geoserver.GeoServer- \# ?6 a8 B  k% L$ v, N4 g

$ `) L  w5 J) F6 _

; r; {' w: i1 S9 R
5 Q  n! A! {1 p
& M4 k* N: G8 K  m: P# ~
Двери,можете включить если уверены что они у вас работают,так как их "непробиваемость" не во всех геодвижках реализовано:0 t5 s1 N+ Q# R9 {0 \0 N
& h# N( F, P, w; n

8 e; b3 n& V: z- p0 J/ U% f: Q& @, S4 @

, f0 i7 h0 F: C$ Z# Обрабатывать ли двери в геодате! R; m% j  G; M- O4 F2 H
# Настройка влияет на ГеймСервер( \: u9 g% B1 I7 {: o
AllowDoors = True
/ d1 B' t6 I+ y# r" K; e! F/ M1 ^Теперь sf,возьму как основу L2jServer,за всё время он не сильно изменился и не использовал геосервер.
8 q5 H, d1 X! n( KПути размещения файлов геодаты:
/ Z1 w6 H! @- s2 ~8 Z/ i8 K3 a% i5 L; D- L8 q

% m6 F, P0 p$ F/ Q% Y  X3 TC:\L2jServer\gameserver\data\geodata& y- `  }& f3 Y

( W" T1 E! Y! T! i* V

8 F+ G4 L  o7 f# ^/ y3 f
, V( G5 E: C( `  K4 B( X2 c

) O! I3 D  W* v) k9 ?' G+ zИ патчнода:! i7 T* H( w, j3 a  \! a8 W

2 A: e! E6 P; K, J

" I7 R/ i  j; `; m6 G+ QC:\L2jServer\gameserver\data\pathnode
" t$ V0 p7 m) f
$ M4 I& m; v7 Z5 b: h

* }' b. I* p& z9 D5 i9 E* }% e' x7 Q, @6 R. w6 Q: o
  X; `5 J% _) ?3 f, v% Q! h
В папке в месте с геодатой необходим файл geo_index.txt, в папке с пачнодом pn_index.txt,их содержимое должно быть абсолютно идентичным:2 n+ E. Q( S2 z" T. |% s
0 U$ ~4 f% H6 b4 v9 I
7 V. ?1 Q0 @* F- q, Q; N8 D

& i5 V( p, C3 ]/ X( y& j' G

: f0 {9 o& c7 N/ f1 h! D9 O2 a16_10
& e/ [: k: F8 P- v8 N( [' {: I0 Y16_123 l8 y: W2 T4 D* K# Z* f
16_18
9 C+ c; }( Z! L0 p8 M0 u: V5 b16_19
5 ~% s7 C8 M9 c1 Y6 B0 C  x: r3 v* d16_207 w* ~' Y2 ?( A7 `8 d! y
16_21% l8 i, ?! z* t6 s8 M+ V4 H/ V0 \
16_247 B0 [* ~4 t( N" j
16_25
4 O) m# u  _6 J! r" y( ?$ l* \+ N17_10- f! \$ _+ }# g  Y# h" u( |
17_11
9 {& b; P* P$ [3 A" I17_15
! r8 E. {! {7 m( C$ s! F5 y+ q: e8 {17_164 W/ Z0 h( C3 Z& Y1 {5 g4 E
17_175 {) l4 g/ n' C+ N
17_19
4 e2 o# X4 C7 r- c# p5 c3 }9 E17_208 @- T. _& a) ]* S5 `
17_21. {% h, W1 [+ e
17_22
( j" v# f2 V& ]7 ?6 G9 v3 s17_23
# s( }: `; I% I" F9 m17_246 I0 K- g2 M: W- J; R$ u
17_25
4 d; m- T# q) G5 {! R18_109 O+ ^# i, M; a$ A% Z! k$ F0 h
18_11$ |1 |6 Y: S0 m# O0 R0 ]
18_148 |* q8 y3 B# s8 z5 I9 }
18_15
3 H1 g. T% k: D8 B" U5 y- d. A18_167 H- ]- p/ h0 d$ {
18_19$ l- j- s7 u1 ~7 @0 M# o
18_20
% g8 d: V$ G) g0 T2 h18_21
5 W' r' b" |, O8 f" S5 C# ^18_22
9 M5 d; C1 H# N% m: ]% L, o18_23
$ P5 v& {$ x6 l% v) E" p" a18_24
% }- a& _8 K: {5 S$ n& P. x9 N18_251 l" R* I2 W$ \/ N( i  Y) f
19_10
: \0 i( w# w4 Q- a9 R! }. O2 [19_11' \; G- c* s8 c; T0 u' Z  `, y7 ~
19_137 ~6 u  v5 V+ E# n( I& c3 O
19_14- Z2 h# M. a4 e3 i# F, [) U
19_151 ~3 ]  p3 K- Z2 J6 e9 o
19_16
$ |& K# j  }! B/ y6 F, d# A  h19_17. C3 ~, d, I$ c3 M% v9 z, p" e
19_18
% ?, k5 f  D! T. q+ a19_19) y4 @' d% L9 ?4 s' g
19_20
* U, ?  H4 F1 A0 C  x6 I; H7 ?) r19_21% k" ^# m5 |, m5 @" U1 M
19_22
& K. E  ]4 {* T  P' v19_238 N) t0 T2 P1 W5 J2 M5 i
19_24
$ m! X' Q# }+ _6 _. B19_25' y% c* l6 t0 @. F
19_26. d9 m: q$ u- P% a/ u  Q; p& E
20_10# F% H+ m' s  c7 l
20_116 V% q) E1 ?2 h
20 _13; X8 `1 f; k6 i
20_14
+ R5 B% Q: R: |20_15
1 d1 ~2 j' `; u! @1 D20_16
+ ^+ z$ m" v7 ^20_177 X8 V5 W% R) Y% N# j5 Y
20_18
6 Z6 o9 n7 @6 K9 T3 R/ E7 O20_19  e$ e  E4 j. W2 R% L, B
20_20
/ I1 y* P  k, m8 t" c. G' J20_21
" O" q6 a3 `$ O+ h( @% k20_22
; l7 z3 K+ K- M1 f20_ 23) o5 u7 @' X+ J  r
20_24. q. M# d/ Q. |0 f3 n4 P
20_25/ S% J- G. Z% r& P8 Q1 ]
20_26
8 Z$ B3 w+ f& |1 ]3 y21_110 S$ u# X/ W6 ^1 H+ i
21_14
; ^2 Z3 f3 p/ D+ V* `& X21_15
  D) s9 \4 s# q# O% j( v+ y21_16
2 H/ Q3 c7 o7 Z( H5 ?6 V21_17
/ j! W- V! E! w" q21_18$ ?; z, q; v2 E' l. @; B! d, [
21_199 p" Y4 b4 b, ~4 H2 M1 ]& R3 \
21_20. x, c0 e7 m# b: p* G; g
21_214 k2 l% g3 A( F- e
21_22! N) \0 d. Y, {
21_23
! L% u5 x) G4 l! w" p; H1 ~5 g21_24
: }# I( k, `4 a- ]9 O21_257 Y6 b$ D0 k0 W+ {
22_13
4 q. l" m2 Q! k* K2 o  _9 v22_146 s, ~, ?& ^& X8 L7 v9 K8 a5 v
22_15/ }: K9 G. p/ W( P& h% w
22_16( F0 V5 l0 g' p. [" S  V# i: Z% [
22_172 a) ]: G6 H6 d; D
22_18) I5 Y1 s4 d. h, e
22_19$ c4 q7 n7 K) F4 H5 @
22_209 \3 g5 Q  |* ^* i" b* X
22_21
- [" D0 F/ C6 T# Z; z, B22_22
& i3 z8 w8 W- i22_23; Y0 w4 K: w! e- G5 ~- Q7 j: I. b; ?
22_24
& h- q  O* u+ H' D/ k22_256 ]& X6 W: v; s0 d- Q, b
23_11" i8 F# j- N7 d5 T8 ]. L
23_12
. E( m, N0 |: Y2 C' E23_13
$ T% X/ l  I) I2 }& q23_14. ?7 N; I/ q' B1 z+ t
23_15. S8 ~* r- S6 p9 a
23_16
9 E, J. N- v. E23_17
( u, ^' o4 U9 N, J; r( r6 t23_182 W9 }6 a8 p2 k1 S& y3 t
23_191 h, Q6 T) R# C, h/ X
23_20
+ m4 J! i2 I* t& C9 ?8 C; Y8 S1 q23_219 w0 S4 R0 ~; i9 N: S
23_226 \* g* O; O5 ?) A+ L5 e* L
23_23  S$ n) {! R4 u
23_24/ J+ T) \  o# Z9 q: F
23_25
  a, `& l( J8 m5 `7 J3 ?* h- X( |* _24_117 M5 X$ i( V6 T. Z
24_12
, h' p7 y# r' _24_13( U+ C  @0 B% _* I( X) s
24_14
. T2 D  ~0 t' ~' Q4 @24_15
" N0 V7 z- ~9 {3 a+ [; P, }' a24_16
( [1 ~3 h( ?3 O2 e5 Q* w5 ?# E* @24_17
+ R! ]! t0 n4 L( F; s+ S5 o- u24_185 Y4 l" ?' F# I1 ^
24_19! T, w0 C  c- F1 ]  |2 J4 n* M) _
24_20
8 `0 b$ R2 D* e$ N: V8 h" s) }8 A. M24_21# s, l5 d5 P" T, K; I/ @& {0 d
24_22
, v2 @4 V& I2 L% d8 S& g24_23! q/ M. s2 Z7 A  k! W: z6 R
24_24& Q4 T1 E0 I) _9 m' i
24_25
" i9 H: }( f9 e25_11- v. l5 Q3 m% [/ L& ^# O; t
25 _12
3 K/ X7 A- ]4 ^( v" H25_14% l/ b' ]' y- V, A# A# v+ n! r
25_15
/ {$ r3 A1 k7 u' ]. o$ B; o, M25_16
! D% T+ c8 ^( C2 A7 c9 V, i$ m' {25_176 B' z& V% B7 B/ |# }% d+ L. N& u
25_18
& P* a- a* V9 I* E7 S' a/ F25_19
/ |  I& d2 Z# U25_209 m* v  @0 U! f! \
25_214 r. @  b# W; ~' Q
25_23
- I* B9 W( ]/ K* N26_ 11
( u6 M1 E- B5 X8 a: X26_12
. A: ^) e; c$ Q5 e9 N26_14) c: l. V1 J% K7 @* n7 I. F; j- A. l
0 _/ t7 t1 k. J
$ c$ ]5 x- F1 I: |0 X' l8 q0 g7 N7 U
4 K# q" ]+ E7 F1 H: ~& X2 S
5 R$ H" y' o: K) R3 j0 o
В этих файлах прописаны загружаемые геосервером квадраты геодаты,если содержание geo_index.txt и pn_index.txt не совпадает то при загрузке геодаты может вылезти ошибка,просмотрев лог ошибки увидите какого файла геодаты или пачнода не хватает.
. }1 L* O' ], w' H, A- U, WНастройка,находим по пути "C:\L2jServer\gameserver\config" General.properties,нам нужен следующий раздел:
+ q) m- Y: _' t. q#------------------------------------------------------------- --------------( w# ]# |, _* B# v% v( ~% j
# Geodata; S3 r; m5 }. F' D6 b5 e; r# }
# ----------------------------------------------------------------------- ----
4 L% s) Z, J1 \8 U7 z6 |# GeoData options:
( O3 j: u- a" g9 F" v# 0 = GeoData and PathFinding OFF (default)! O8 u, t9 q" K  l6 i! p8 n
# 1 = GeoData is used to check Line Of Sight (LOS) targeting and2 s* i) V  e' C3 D  b
# L2Playable movement. You need to download files for data/geodata folder.
) j$ G/ Q; [! M9 x# Monsters can pass walls but not aggro (no line of sight) through them.
. D3 ~' o7 k* y2 [# 2 = Full GeoData enabled. Includes PathFinding (requires also /data/pathnode
5 T3 n5 D( H9 k# files if CellPathFinding not enabled) and all character moves go through
; |8 a; ?( Y: n) H; O# geodata checks (if a mob passes a wall, pathfinding didn't find a route
) J, B3 N0 A* s( b$ y# but we allow attack and returning home).
# ?2 _# d0 p" m. `0 z+ d# Recommended server memory minimum 2 GB, rather 3 GB.
; I6 \8 y& c# H8 q0 j# Default: 04 I0 ^. ^6 @- K% E
GeoData = 0
2 f) V6 O3 d3 W/ f1 @0 @
6 s4 x2 i. I' a9 ^5 x" w: V

4 \8 B- C6 m) l8 e# Cell-level pathfinding, produces more accurate routes but is (maybe 10x) heavier to calculate. Recommended for small servers at least.7 E; g! m3 T9 I
# 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.) Q# H4 `; m7 ?  M* Z" S# ]( H8 z
# Default: False
& u2 }3 o1 b1 r" e) ^/ ?( p& a$ d9 uCellPathFinding = False
0 g% V0 F8 M7 @5 O/ z
/ g6 R6 @: R# E# u2 W7 E
/ [) j# [9 Y/ P  U
# True = Loads GeoData buffer's content into physical memory.2 o, m4 p, f8 I2 T9 Q8 G8 {+ ^
# False = Does not necessarily imply that the GeoData buffer's content is not resident in physical memory.9 t' C0 |% u/ s  @
# Default: True# N  b8 m0 O/ ^! k
ForceGeodata = True' T7 L: g9 K! ?- ~" }1 T$ w4 a

) E7 b" E" |" r* W; S# C2 U

0 t! w/ A) L- A& n0 k# This setting controls Client <--> Server Player coordinates synchronization:
1 i6 u- X* @7 \+ X3 T# -1 - Will synchronize only Z from Client --> Server. Default when no geodata.% Q9 t2 P! W4 Z# e
# 1 - Synchronization Client --> Server only. Using this option (without geodata) makes it more difficult for players to bypass obstacles.
0 o& V$ M+ m: y; v+ ^2 j$ K$ e# 2 - Intended for geodata (at least with cell-level pathfinding, otherwise can you try -1).6 H, @4 }( c. |% u7 P6 K6 Q
# Server sends validation packet if client goes too far from server calculated coordinates./ o+ q( m0 p$ Y/ T
# Default: -1( n% `2 O7 t9 P+ j& Q7 o
CoordSynchronize = -1/ r1 b6 S: D9 T: A9 h, Q+ U

: C0 h% g  L( \  |& h% _; g8 }, ?: t

+ S( F9 Y; N3 i: j2 ^+ F; n9 X  S+ O$ I# j" H% i# |. R& N2 V6 p
. W3 M, g3 h, h8 b# M- @
GeoData = 0
3 X& V2 l7 ]# k
* k4 P7 O) Z, t

$ F& G0 U& Z/ Z! L3 U( z
0 v+ a* ?  L8 i2 }4 ^% u

8 Y3 ^/ }! @# S, H! W* FСтавим 1 если нас только геодата,пачнод отсутствует.В этом случае мы получаем только то что агрессивные мобы не будут на нас кидаться,персы утыкаясь в стену не будут буксовать,а просто остановятся,но мобы если вы завернули за угол будут вас всё равно "видеть" и ломиться к вам через стену.- Q1 m! E+ q& v2 s8 b& W/ Y/ H
Ставим 2 если пачнод присутствует, так же включаем эту настройку:2 k8 S, f  c" y- X  w% [* Y

( m2 _! K- \% x, X' d% d5 N

2 A' n2 \, h' _% N* M9 E! Z! |: F6 A: j9 ^2 P0 C& J
: e, k! L- [4 j8 S8 ^9 e
# Cell-level pathfinding, produces more accurate routes but is (maybe 10x) heavier to calculate. Recommended for small servers at least.. C$ m6 E3 T% s" n" P/ i
# 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.  s/ Q# R7 F2 k* Y, h, z# v
# Default: False
8 V% y# `: [' r! oCellPathFinding = False
; V: t# o7 G, J, \9 l4 Z1 |% {) P/ a& B$ D# \

& \/ K, T; ]0 i! o, `+ |% u# u* u
8 j" V# J  j, l; T- i

* v/ p1 W& E" N! S# hСтавим True если хотим более сглаженную работу пачнода,но нагрузка на сервер немного возрастёт,если нет то ничего не меняем.
# [3 x8 C+ {3 g: KПожалуй всё подробно написал, спецы дополняем если что то не учел.5 T7 ~5 O: G* W; q; S5 g& U  [

: }' Q+ @/ l. C6 q8 _/ s; D. m

; I9 Q1 m& p. B1 Y8 X3 a7 AНе забывайте что если вы изменили конфиги при запущенном сервере,то они вступят в силу только после перезапуска сборки.) [+ h8 v4 w+ e: F/ w$ P# r" \
2 g- x' |$ Q* V$ |/ }3 w$ t3 A$ C
И строки начинающиеся с "#" никакого значения не имеют, это просто комментарий или один из неактивных вариантов конфигурации.* H( ^  h" B4 E/ C) E) Z- E3 r
# j9 Z9 G/ t& B+ w8 S





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