Top.Mail.Ru

[Геодата] Геодата, что это и зачем.

[Скопировать ссылку]
admin Опубликовано 2024-9-17 19:42:36 | Показать все сообщения |Режим чтения Распечатать Назад Вперед
Хроники        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 Kamael6 N: I% A- s  {3 t. ?+ a
Сборка        L2 Java
! D6 Z; P8 H1 o; J
: K  m  l) ^, N* o" c& F
: K6 h3 r7 ?" @& W) J
Доброго времени суток.1 P' \" s4 _' N& k: Z

% U. _+ w8 @0 N4 I5 F; `! u

" P. f1 [# ~& P% Q" N8 KЧасто появляются вопросы на "стёртую до бороды" тему геодаты, зачем она нужна, какая есть и куда пихать. Пример будет на хрониках Interlude:
; z$ }+ K, h& K  ?, HВозьмём две основные *_conv.dat и *.l2j, первую отбросим так как этот формат для ОФФ-серверов,хотя есть реализации в яве и этого формата.
; I5 }6 j; t$ m9 J" XДля чего она? Для мобов не существует стен как в принципе и для чаров, упёршись в стену и буксуя на месте вы всё таки меняете свои координаты, мобы проскакивают их шустрее.
+ [, g2 z& ~, F2 B: D( j3 KПо скольку для мобов мир - ровное плато, агрессивные вас заметят и атакуют если окажетесь в их радиусе даже если находитесь за стеной и не видите их. Геодата поможет вам от этого избавиться, если сказать короче геодата - информация о всех препятствиях имеющихся в клиенте игры. Поэтому геодата существует для разных хроник, геодата интерлюда будет считаться не полной для грации к примеру.. \( ]0 w4 A" H$ b
! L+ w: _% u/ j( b4 D( h
Вся карта мира разделена на квадраты,они пронумерованы,благодаря этому вы сможете определить какой квадрат отвечает за конкретную область:
7 v8 `, d$ m) ~1 M& V" x. y1 _+ ~' F* k0 K/ g* @

2 z9 G" Y0 S/ @$ f5 Z6 Z# }На картинке отмечена только поверхность,подземелья не отмечены как и материк Хеллбонда, но это не значит что квадраты пустые.В клиенте квадраты находятся в папке MAPS и пустые весят от остальных одинаково.3 W  R, r4 ^3 a" s# \( r" a! b! G% L
Геодаты в шаре полно и она разного качества, подбирайте ту которая будет корректно работать на вашей сборке. Если в квадрате есть косяки, к примеру невидимые преграды,или не можете пройти в открытые двери или ворота,то это не причина менять его на другой,существует софт для редактирования гео и невидимую перегородку можно убрать, но это отдельная тема...) y" \9 Y% e8 p4 x0 z
Работа геодаты зависит еще и от гео-движка сборки - неотъемлемой составной части ядра этой сборки,так что не путайтесь с определениями что бы других не путать,геодата и геодвиг разные вещи.: B4 ]' J# q; x/ ?/ c3 k% N, z" |+ b( U
У разных команд делающие эмуляторы разного качества гео-движки поэтому не всякая гео подойдёт к сборкам каких либо команд на 100%, чей геодвиг качественней решайте сами,тестируйте, темы "что лучше" для флуда.
1 i5 y5 |; i1 w3 b: |. u5 ~) ~6 ^( Q
+ m  N& R6 s4 q
3 ]9 {* B% u3 z- L8 J2 _
Что такое pathnode? Отличная штука, благодаря этой приблуде мобы у вас при агре не будут ломиться сквозь стены, они их будут оббегать как и сам персонаж, создаётся пачнод определённым софтом с квадрата геодаты и его качество зависит от этого квадрата.Расширение пачнода - *.pn.# S8 m8 B- }! b' E* I& s
Количество файлов пачнода должно быть равно количеству файлов геодаты.* L- `* t7 C1 }$ ^$ o# |+ d
Есть сборки на основе команды Rebellion (а точнее Fortress), такие как L2Dream, L2f ССР, Phoenix, L2Royal извиняюсь если кого забыл, у таких сборок есть возможность поставить геодвижёк на отдельную машину что бы разгрузить основной игровой сервер,но использовать не советую поскольку не доделаны, хотя возможно в платных геосервер уже реализован на 100%.
; G. ]0 M& m9 Y9 c7 H# B/ DТаким сборкам пачнод не требуется, их геодвиг генерирует его в процессе работы,сомневаюсь что это хорошее решение,но и не плохо с другой стороны, кому как,по мне так геодвиг sf в полне нормальный.
' u; U( t. U5 i$ s* F6 R+ KСборки sf,это L2jServer - первые кто написал ява эмулятор,также L2jFree, L2Emu, L2Ambrella и др. на их основе, так же можно причислить Balancer (Fortress с которого основался Rebellion),но ему пачнод уже не требовался. Был отрезок времени когда эти команды использовали внешний геосервер (кроме L2jServer), но позже от него похоже отказались.& J, ^, |; d/ `& Z% o2 ?  \: Z6 |
Таким сборкам неоходима геодата + пачнод,для комфортной игры вашим клиентам.
" ?0 g' {. I! ~  _1 `0 c! b; B+ mУстановка геодаты на сборки без пачнода (Rebelion):: \; w; H4 E* z. f6 j
Покажу на примере L2Dream.
9 _8 N& a& P; M* U) a7 z, BПуть куда закинуть гео,сами файлы ( пути и папки могут отличаться, в зависимости от сборок) *.l2j:
/ S& ]. B; k+ ]- ]3 W$ n7 e7 k6 X) r4 n" n
( Q' f8 D2 D- A) t; a# r; ~: _
C:\L2Dream\game\data\geodata+ J& d2 Q9 ^9 N! ?

$ S9 F' U. y% h% }. A. _  ?' E

' V. l# ~& m' K: g1 i9 A& o2 x6 K
' E( V' D4 z+ H# G2 z; S( _
' L  V; o) z# Z+ r0 y
Не в "C:\L2Dream\geo\data\geodata"(это и есть внешний геосервер),а именно по тому пути что указал.. y; X. }" \5 U+ o6 M! c1 o
Настройка.
0 [& [7 ~$ u8 w+ Z# aИдем по пути "C:\L2Dream\game\config",нам нужен geodata.ini или geodata.properties:
% F  ^$ o- Y& P7 r: \  e#================================================= ================================================== ====. R& y# X" B9 ?# a
# Даный файл является конфигуратором геодаты.+ K$ f+ `0 w, P" ^7 D4 T# e- Z
#4 A: y. P2 [: t1 `; K$ e
# Геодату можно отключить, запустить в классическом режиме на гейм сервере, а также запустить как выделеный сервер геодаты.# \  |$ `' T$ N" E  K
#5 L: R- ^# N$ G, V- V& j
# На даный момент на сервере геодаты отсутсвует какая-либо авторизация(за ненадобностью)." m- n5 e3 B" ^, O# s
# Если у вас мания взлома, то закрывайтесь на уровне операционной системы.
; ^$ \5 X8 f% ~+ H0 t$ m7 N# }# Ну или просите прикрутить SSL.7 G" q3 k# o7 L5 j5 V
#================================================= ================================================== ====* s* [8 a6 P) Y3 S- m& L
$ {6 s  y0 y. X- G0 P& I2 {7 q0 V

8 d1 `; u: q& r* Z, c. I# Включает/отключает геодату и поиск пути.# a8 |# U3 |. I  X0 f, v! @
# Рекомендуется включить. Требует наличия файлов геодаты в data/geodata.
- ?1 K$ ?4 n" j3 @; Z' Y* P# 0 = Геодата отключена.
' S( G% t* ^! L. U2 i# 1 = Геодата будет загружена в геймсервер.. Q3 k$ L) G: c
# 2 = Гейм сервер перейдет в режим клиента, и будет пытатся подключится на указаный адрес, в то время как$ ~" g9 X  i8 T8 @) G
# сервер геодаты сядет на указаный адрес. Для работы на выделеной машине с несколькими серверами
* x8 x8 i1 s) L# z! I# рекомендуется гигабитный (и выше) лан. Среднее потребление траффика на осаде Адена = 400 Кbps на одного игрока,/ Z& K# r3 i$ h. u5 }
# с учетом активированных им гвардов. При обчной игре среднее потребеление до 200 Kbps на 1 игрока.' L2 U3 B8 X" y4 Q" e& v
GeoData = 0* B2 {: m: s5 U0 {, `! t
$ H- z+ Q3 Q) s5 @: z* Y

, z) L* [3 O) A+ k2 l% G0 R# Хост для сервера геодаты.
  h6 w+ C$ F, u( m" t. O6 u' b# * Забиндит все интефейсы.+ S8 Y" f8 p% N1 J0 O) x$ }( H6 i
# Игнорируется при GeoData = 0 или GeoData = 12 T- N: B$ x" |$ B) S8 r5 u
GeoServerHost = 127.0.0.1- ?* V" |! c; R) u; \

9 L6 C2 z7 I: A2 _# }

% M6 X0 C$ }0 q1 c9 ~2 K# Куда будет пытатся коннектится клиент.
3 |+ E1 |" j; }9 {: b7 |# Игнорируется при GeoData = 0 или GeoData = 1. j& O; Y% `. e5 F8 k+ G
GeoClientTargetHost = 127.0.0.1: J8 d2 b: P2 K8 I# y9 B5 x' l( o
6 S8 x* p( [0 a* q6 `2 u. x: l
* U/ U) T' h+ S* M9 }" h
# Порт для геодаты.$ B6 O% n! J! B! H" M" b3 Z: X3 b, j
# Сервер откроет на нем сокет.
  z2 D. P5 t: M% }# Клиент будет пытатся подключится к нему.$ [. R, _/ B0 @% D+ s7 c
# Игнорируется при GeoData = 0 или GeoData = 1$ m; V9 i2 r: P, l& J" {
GeoPort = 9050
" G+ s6 o# k" a2 O! N4 _
6 W6 `/ ]% X5 ~% _$ h7 T' u

( H4 K- y' n1 O3 ~) X# Сглаживает путь.
# l7 D+ ]* B: r# Стоит отключать только для дебага.) I- n* C( {! {' ~2 A8 y
PathClean = True
$ s5 W2 v- b' [( @  M4 l# b4 @. w6 [9 M9 l4 x1 p
" R0 L& u) i4 V5 X* k
# Обрабатывать ли двери в геодате
" i5 f9 r; J: T  _# Настройка влияет на ГеймСервер
7 \5 }$ I. `  e2 r2 W* G$ DAllowDoors = False
- }% K) ?+ i7 Z0 m* p6 k9 `' [
  p7 [8 I4 a: x9 b2 J$ R

' S* M8 r% p2 \PathFindingBoost = True+ P1 a! U3 a  S8 S* ]% i1 V
PathFindArea = 250- X# L# d% H3 |7 K- B: b! J- g1 O! b" ]
Внимательно читаем,нам нужно это:
* Y5 j; Z6 z& ?& T/ y, s& T+ }1 C9 C2 B; s/ B

4 ]9 K# |4 s0 ], d6 V# A# n7 ~  ?% B  y; V/ ^1 F1 S& {
  K2 @. c0 H. C2 n) h/ |
# Включает/отключает геодату и поиск пути.# Q( r: ]: q1 [+ m- N; `
# Рекомендуется включить. Требует наличия файлов геодаты в data/geodata.
" Q3 r* x- o1 S/ W. I# 0 = Геодата отключена.3 I/ D4 |9 A& [# z3 m. F
# 1 = Геодата будет загружена в геймсервер.5 k& X$ |/ k5 ^# M# |  `
# 2 = Гейм сервер перейдет в режим клиента, и будет пытатся подключится на указаный адрес, в то время как) g) l4 K* x' X4 X4 s# ^
# сервер геодаты сядет на указаный адрес. Для работы на выделеной машине с несколькими серверами
% G3 R' M& {' L+ G" M8 t" M# рекомендуется гигабитный (и выше) лан. Среднее потребление траффика на осаде Адена = 400 Кbps на одного игрока,
) k: w' |# q6 v# {, }# с учетом активированных им гвардов. При обчной игре среднее потребеление до 200 Kbps на 1 игрока.
, D+ n, M- Y1 ^/ z9 J$ {( [; gGeoData = 0/ B2 ]/ Y4 H9 O
/ ?  F! U$ I2 M" E  G1 y

5 ^% x3 D' o9 W0 w; s
, q$ x# O$ c# U* ]& `4 P+ i9 d: Q2 X
  n3 G0 \, v2 t% t5 u( i
В этом параметре меняем 0 на 1.
% B7 P( Z8 @8 O# x- h8 y2 ставим в том случае если всё таки решили поставить геосервер,его настройки:$ [' }" ~3 X( ]
# Хост для сервера геодаты.
: T. i) N! C6 R! Q# U+ A# * Забиндит все интефейсы.
: ~" a4 n1 c& ^8 A5 f2 l$ B# Игнорируется при GeoData = 0 или GeoData = 1
* l6 {2 H1 w, l, r! ZGeoServerHost = 127.0.0.1
! W: Q6 d: i* a1 B, g' I1 s
9 x+ f) p# A# ]  I: `

8 S2 w" x; u; N& X# _0 K, {# Куда будет пытатся коннектится клиент., d+ y7 P" ^0 Z
# Игнорируется при GeoData = 0 или GeoData = 1- _$ ~' B7 [; a0 s
GeoClientTargetHost = 127.0.0.1
$ G5 t& N$ Q- H1 [
* ~; c3 L3 E$ G

+ ~  _3 R3 ~0 h  j# Порт для геодаты.
5 ^( P) g/ b3 Q% d& T# Сервер откроет на нем сокет.4 X; e  }5 X8 I+ O* B. `
# Клиент будет пытатся подключится к нему.% \8 K- d$ [1 z- [  G* G
# Игнорируется при GeoData = 0 или GeoData = 18 {: {0 A& t; m5 M- u; T
GeoPort = 9050
/ w& l$ P- \7 |$ jЗдесь всё ясно,можете зайти в "C:\L2Dream\geo" и увеличить выделяемой оперативки на геосервер изменением значений,StartGeoServer.bat:& e- t$ p0 T4 P0 [2 X) F

+ [4 W& d- q! j" e2 X
( P  D: T; l6 ~

2 Y1 A+ t0 i1 {; ~
, ^6 s) h! j- w: w& W& T6 t
java -Xms512m -Xmx768m -cp l2dserver.jar l2d.game.geodata.network.geoserver.GeoServer6 W* b. {$ n& X- X5 Q) j6 X  [
" w  m; b, J' _0 g
# ~9 Q+ C/ I* y: y' Q# w8 d

9 F. E% n6 o5 M0 }

* |! c* `- s# n" C: Q" J! sДвери,можете включить если уверены что они у вас работают,так как их "непробиваемость" не во всех геодвижках реализовано:0 F+ @& @& I3 H3 C  Z2 P2 ^5 P
# D; C/ c; R+ l4 {. D% \& M% e

2 G: K5 [4 A9 X1 K5 Q' p' c& n# H6 d% R) J0 e# u- L$ B
. I) F1 v( H9 q2 c3 D
# Обрабатывать ли двери в геодате+ Q/ R& ^; l" K  R! j
# Настройка влияет на ГеймСервер
' w0 H7 r6 T5 ~# ~4 RAllowDoors = True; S5 u  E3 C2 p( N: a
Теперь sf,возьму как основу L2jServer,за всё время он не сильно изменился и не использовал геосервер.
! t' {# p3 D+ g8 lПути размещения файлов геодаты:7 F# a- F8 J! R* J. n5 y: Z6 y

7 p6 W- R# J+ `- }* Y

2 W/ K% h; \1 H" s+ tC:\L2jServer\gameserver\data\geodata( l1 Q) R6 i3 \: Q! j: L' b- i. U7 K
" M. D2 \8 d: A" j& @4 N- e

" N8 N9 h* U: X6 [7 n& S. N! u7 A( j) W4 L% ~/ w2 }( ^
4 c7 \6 F1 [# `. n( C
И патчнода:* F+ g* }, z6 r0 s5 E

; z5 w; y) X- t7 R# u

+ ]4 H5 I1 {% {2 `5 ^; RC:\L2jServer\gameserver\data\pathnode
  X5 B  _% a! N
( I; X( Q9 Q4 |0 t( c7 O
6 |% x1 {' x! f+ Z  H0 y

! Y/ I& A; Q1 K# q+ n' A4 X
! w/ p5 h, X) U
В папке в месте с геодатой необходим файл geo_index.txt, в папке с пачнодом pn_index.txt,их содержимое должно быть абсолютно идентичным:
6 K% Z$ }9 w9 d1 d% ]
; b8 J( G9 c6 ]  x+ f0 c

+ k5 J: i. Y, n. N4 p6 T9 }, @$ H5 J# d6 r( s
2 G( m: [+ B, }$ i5 b4 p& f
16_10
- M0 ]- M% x- ]) K& f+ x7 ^' s16_12
3 X+ R+ o6 h: m% f2 O( t4 x16_18
, M( K1 f9 \" r$ j* E7 R+ J4 H6 D16_19! b. y( s" E0 q+ n/ m) K: k3 E
16_20
/ V4 K2 o6 A) @4 S16_21/ x; ~( R4 E  S# v$ F
16_24
- F4 V& I# V. B4 \16_25
: b1 t/ \$ G9 i/ h17_10% j, u$ n% \7 ^; n/ g  o
17_11
) [( P& T% h) M% Z17_15) n. a! @$ _& f; y9 d
17_16
3 M; D9 M/ o8 T! _* k" B1 L17_17
. T- _, K1 B# q( ?! ]5 f* q/ V17_19
% s4 N# ]# \$ ~17_20
( r2 K6 p! a# C2 ]5 y# E* K17_215 A; w, m6 n# R) M
17_22# ]" Z! u. r4 I/ h) z
17_23! _9 O& c  |0 c- L
17_24
3 [0 @8 V; ]! R! w17_25
! }' R# H& {3 P+ P: Y18_10& R" _/ S! I# M+ u: c
18_11
& S5 B6 F5 b# X9 `0 o18_14
( O  p" a8 G& n* @18_15
" s" M7 Q% ?+ C  n9 Y. p3 \18_16; V+ K7 K3 R0 w$ X
18_19( {1 ^8 C5 Y' d: B( ^$ U2 g
18_20
7 J. a/ q+ m% R18_218 |: s. v# _* m+ j
18_22# x  I7 q. Q# Q, Q1 V: T: h+ ~9 |
18_230 L5 j. X; Y% m. s! ?
18_24
# |- W1 r% Z2 Q( y18_25
6 W& c+ b! V' `  d1 n, c+ z19_101 L6 j" ~6 t+ {( ?* o% b0 h0 @) w1 ^
19_11
' R, d2 {  D3 A$ w. f! C19_13
& d" ?1 K3 p  B7 S4 g4 j19_14
: w2 J& `" L# W6 a$ V- f! {: u; z19_15& Y. X2 p8 Z9 q
19_16" E& o4 |' Q: b& i* \
19_17
% n% j) ?+ F. v7 f) }19_181 \+ o! X8 L% u& k) ^
19_19/ k$ z( _( N: ]: C" n$ y, w
19_20" j9 L8 L( Q$ X3 y
19_21+ O' O0 ^9 S- g% D) e
19_22
! S' r) V+ O  Z' [* |( @4 {6 r19_23, n9 p: i' `$ D! N* K- X% P0 |
19_248 w' I1 e& d  o+ c! ]0 Y( o
19_25
) {5 X- n& P3 g# F" I  s19_26
3 x, k* k2 X3 O' ]/ d3 q20_102 {0 H3 g" D- X0 T
20_11
. z8 O$ H4 J2 B8 ]- v. Q9 q20 _13
- O1 p$ M( j1 p4 u& o  o9 z20_143 }* j/ c+ p6 }
20_154 z$ _- O1 L) T6 g
20_16: ]& L! Q3 T# Z2 v* M" a
20_17# z% ]- h, C/ B. D
20_188 h) ^- G- ?3 _. A& z4 p
20_19; C. r! b6 N4 M5 G1 U
20_20
5 Z) j$ ^2 P# ?" g- A! `' E20_21
* Q' y' D" q0 f& C20_22
) {- b( |8 ]  K0 B20_ 23
5 R) e. `" Z  O  v8 Y9 K# M20_24
( A+ K. l: W3 l20_25
2 Q* a' _7 r/ n, K8 M& c1 A20_26
! c- F8 P% J1 ~' l& s21_11
  O# Z; e! l6 l- Z8 \21_14: J: ~& R1 e0 i; w9 e' T9 ]) D, o
21_15
: L: s3 ?+ N, B6 |21_16
) ~+ B; x7 _7 p8 i& a% I21_17
- s: s. f; F8 R+ ~) e* V21_18
  e) w4 g& u( h) ]; t21_19, S" m4 e- z5 q0 l+ J8 q
21_20/ \5 J3 d8 C  `- `- t
21_21) a% B+ z* m. _; m+ ]9 V
21_221 F0 I+ V$ z/ a2 K( m9 P$ m  [
21_23) J# b% V7 E8 ~3 Z) j  v. @
21_24& A1 |5 U9 m* e8 ]( Q
21_25
: A; ?+ C) C8 J. I8 s& Q! @4 U4 ?7 J22_13
/ o9 Q) e* Y8 n  Z6 V( ~22_14, x( B, c7 S. q. I8 k' V( _
22_156 ?8 ~. X0 U. K* P1 J0 H. J8 K
22_16
" k4 `2 o; {! I6 j! i7 j& H22_17
' G& ^8 U& Y! A0 U. f0 l( r8 w22_183 C; O/ `1 u' ]0 d! c- R7 D" W
22_19
5 X8 L* u. U" j22_20
' Z( p1 p$ Q! ^/ u+ O- e1 V! k22_21
, _* g3 v2 ~* v7 U: b0 {22_22" _: W! b( B4 ^
22_23
5 _$ J) @: O! t: p' ~8 _22_24. z+ L7 u4 b' W
22_25
% {5 x% x! S5 P, n% e! ~- s23_112 @# V) A. n1 K6 |+ h9 s
23_121 X- w. X1 T8 D% Z" o, e4 f+ L
23_13; h2 O  P! |9 s/ R5 I
23_14" f! y( u( c: T$ Z- S* x0 @
23_15
' d% l$ x$ L& i* C. o& B& v23_16
/ e1 ]& I8 Z4 W; E3 N' }23_17" ^4 V4 x' C: D/ H
23_18& w/ e( T! d+ q* Z2 o' H) r
23_194 g+ \1 X& c/ n$ d: _
23_20
+ h& s  p/ @- {$ r; w+ n+ v23_21
6 o( m- u7 |% g/ K. V) l7 s23_22( v2 {7 R) [: b- Y- M
23_23  \+ Q7 m( E1 J3 ~+ G) [; q' U
23_24. l: |. z: l, n9 N; h$ t$ x8 J
23_25
3 A, Q9 t- \+ }+ f1 M1 `+ H$ m$ b7 ~6 G24_11
# }* J  A1 I4 M8 i+ w5 M/ I24_12
+ F2 K8 X. k6 [' p3 }* }24_13( \2 \% W" z5 ^0 Q$ m* e+ ~7 K
24_14
" n/ G2 f: k! h1 Y' m8 y24_152 S/ s5 P; s1 F' O3 S0 \; x$ [
24_16
7 ?1 R% P. \" y2 }24_17
4 }- [# O% r7 n24_18
# D- }' K* N! a7 A4 t24_19% {1 a; m5 ?+ w% h- p2 c' a
24_203 _. G3 }+ c7 h( P! r
24_21
( j5 A: B: C4 ^, G) h24_22
3 R7 l/ ~. P' D0 |3 a/ W5 |24_23" m* P  p* {1 N4 e
24_24
6 b" b: }6 g# Q! Q  I1 s, H24_25, W1 n) u( ], N3 y5 C% v
25_119 Y+ H3 I* v7 M* H+ f( Q0 s& w
25 _12( t6 I" l  l  A7 s7 F
25_14
5 S, B. t3 {4 M$ `3 Y! U6 G) F25_15
1 J- y9 I) ~. ?0 F$ I25_164 e/ h) v/ R# l0 B) r6 v
25_17
4 ?4 _9 E, T8 S; D2 Z* b25_18. Y/ ~9 ]+ j/ P6 m( T8 z  Y
25_19
  i: R  I6 t( ~5 ~25_20
8 x2 I/ A7 P& g) s' |6 f' e25_216 P2 C- Z4 w2 u2 H+ u1 q
25_23
/ Z4 b4 d) C  m2 R% B, r8 }26_ 113 X# L  J9 s3 @' D5 E
26_12
" i7 ?( x) o( Q& w# W( j  o26_143 ~7 E* q: {6 W% r; D: f- i' k
& N' c) ]1 E) B2 y: r
& r$ @3 b  U. W/ b
6 ]5 W$ A/ h1 ~; p. g' d  I$ ~
3 V1 ^5 v8 ^6 J  n- G+ e+ a2 k
В этих файлах прописаны загружаемые геосервером квадраты геодаты,если содержание geo_index.txt и pn_index.txt не совпадает то при загрузке геодаты может вылезти ошибка,просмотрев лог ошибки увидите какого файла геодаты или пачнода не хватает.
. X9 |& M+ }4 l9 ~/ t+ `Настройка,находим по пути "C:\L2jServer\gameserver\config" General.properties,нам нужен следующий раздел:* g" c; x& M5 D; L* K, W4 T( C
#------------------------------------------------------------- --------------
4 y) w) G5 k4 N# Geodata
- t% q* c& Q4 M# ----------------------------------------------------------------------- ----% V: P5 q' }" o$ A2 O2 _1 A
# GeoData options:
3 E0 y0 K9 J; m0 i$ c2 X. @. s# 0 = GeoData and PathFinding OFF (default)
8 Z4 k8 \9 Y3 B  _; V# 1 = GeoData is used to check Line Of Sight (LOS) targeting and, I# i7 R% v& i8 N" ?0 |2 y
# L2Playable movement. You need to download files for data/geodata folder.
; ^* V% t, N3 k5 L5 E+ G- ?& ^5 ?# Monsters can pass walls but not aggro (no line of sight) through them.
- v; q* |6 {$ \; K5 _( {: R# 2 = Full GeoData enabled. Includes PathFinding (requires also /data/pathnode
4 J6 q6 {% M8 j6 i, A- m6 O  }# files if CellPathFinding not enabled) and all character moves go through
  U! r3 x, j4 P3 ]8 p, g) C( V# geodata checks (if a mob passes a wall, pathfinding didn't find a route
/ g6 @) \, Q7 ?; Z' \# but we allow attack and returning home).: Y! b7 p7 r2 f  k0 R2 X$ a
# Recommended server memory minimum 2 GB, rather 3 GB.' {, v  X/ \5 _" F6 D4 O3 C% ]
# Default: 0
% j/ c; S2 e1 v) JGeoData = 0
! N8 M  L: V) v. P5 y. r- e+ s* s2 c  h9 F

1 j" O; A9 W$ m# Cell-level pathfinding, produces more accurate routes but is (maybe 10x) heavier to calculate. Recommended for small servers at least.* a5 C7 U1 r4 r5 R* Q; 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., \2 R3 w  [/ j, y" R
# Default: False4 f* U+ Z7 S1 f9 g
CellPathFinding = False" }8 _7 O$ L" O8 _. n
5 Q/ i3 o& p( C5 W- M8 N8 s6 X

3 F+ z6 n4 `' @5 P. E+ U  p" P# True = Loads GeoData buffer's content into physical memory.( O  k- c8 t, Z3 @  U
# False = Does not necessarily imply that the GeoData buffer's content is not resident in physical memory.
' K: o* z) I& g" _3 t" ~# Default: True
! O; V8 j( C* [+ P1 `ForceGeodata = True
( X+ x; W+ ?, V) P5 t
0 _9 y9 g. m6 U9 H% O
0 Y5 k+ f* S/ U
# This setting controls Client <--> Server Player coordinates synchronization:  T# A! ~# K5 u8 G4 i
# -1 - Will synchronize only Z from Client --> Server. Default when no geodata.$ K( r2 Z; B" I; U
# 1 - Synchronization Client --> Server only. Using this option (without geodata) makes it more difficult for players to bypass obstacles.
+ C& U$ R+ M+ Y5 M! g# 2 - Intended for geodata (at least with cell-level pathfinding, otherwise can you try -1).# _8 C3 a8 H' d3 ]3 l
# Server sends validation packet if client goes too far from server calculated coordinates./ ]7 k' K" i" p! v1 s0 |
# Default: -1/ a1 Y/ o. B$ X0 c4 d/ J  G3 i; x
CoordSynchronize = -1
. z, t. D8 K# Y8 G; {, b- c+ c7 b9 w6 j
1 @# a7 D( n  P0 I% B2 m) a& z
' }7 _. u. d2 L2 }% }9 m

. j, c/ w. i$ s7 i# Z0 ?GeoData = 06 [/ W0 t5 s" A6 u: [
3 K. \- g: p1 b3 R  }  O  v8 l

7 P0 n% |3 i# b
+ Y) p3 ?. V  u" Y1 y9 c

" Q; y* k2 e3 b1 q2 R( jСтавим 1 если нас только геодата,пачнод отсутствует.В этом случае мы получаем только то что агрессивные мобы не будут на нас кидаться,персы утыкаясь в стену не будут буксовать,а просто остановятся,но мобы если вы завернули за угол будут вас всё равно "видеть" и ломиться к вам через стену.
% I- [+ S( E1 w* M3 ^Ставим 2 если пачнод присутствует, так же включаем эту настройку:
/ M& R- g. V* t. ?3 `2 c7 `6 D% l9 L$ E% u) U
4 M" y0 m7 G+ N4 o/ q: s. I
- c8 x+ O% }6 m% {0 Q7 U
9 u8 {: ^. u" C& n& O; l# R& ?
# Cell-level pathfinding, produces more accurate routes but is (maybe 10x) heavier to calculate. Recommended for small servers at least.
, j+ D9 d6 p5 G% }4 E# 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.7 A8 {3 ], C* S; ~5 L+ t0 N
# Default: False/ W, L& d; h: l2 |( t) e
CellPathFinding = False
+ [1 |* ~1 K* m# |+ d. X1 c; [4 [) b7 d$ f( ?# }  O: H
9 K/ c& z' G3 t( X/ p! m8 \# ~

. }% x$ E( D' ^- x
8 d  B% O9 g; ~" `6 l, S/ D
Ставим True если хотим более сглаженную работу пачнода,но нагрузка на сервер немного возрастёт,если нет то ничего не меняем.; j; h# G  N2 L& S
Пожалуй всё подробно написал, спецы дополняем если что то не учел.3 l/ W+ v6 L9 U/ @. ]  D0 G: T4 @0 v
) H2 ~" h& s' |& ?) N& \* J

. g' I$ Q! b" R; S/ zНе забывайте что если вы изменили конфиги при запущенном сервере,то они вступят в силу только после перезапуска сборки.8 `% G5 H, W9 s6 s. C4 x5 n
. V/ y2 |4 p& V5 z" ^5 G
И строки начинающиеся с "#" никакого значения не имеют, это просто комментарий или один из неактивных вариантов конфигурации.. c) r& s1 P+ S( b9 k+ r
( X5 O% @* i2 J* Z. Y

Сообщение слишком большое

Для просмотра Вам необходимо авторизоваться Если Вы еще не зарегистрированы, перейдите по ссылке:Зарегистрироваться

x
Чтобы ответить, вам надо авторизироваться в системе Вход | Зарегистрироваться

Правил начисления баллов

Опубликовать
Сектор творческих людей
Горячая линия

638638758

С понедельника по воскресенье с 9:00 до 23:00

Обратной связь

admin@artace.ru Онлайн

QR-код

Powered by Discuz! X3.5© 2001-2021 Comsenz Inc.