Jump to content

[40250] Reference Serverfile + Client + Src [15 Available Languages]


TMP4

Recommended Posts

3 minutes ago, TMP4 said:

I would have to be a mind reader to be able to answer that.

Compare your item_proto, think about what have you modifiy what could break 6-7.

hello, where is the teleport ring quest?
I'm sorry I don't know this.

Işınlanma Yüzüğü 

 

can you help please?

Link to comment
Share on other sites

  • Contributor
26 minutes ago, uncons said:

hello, where is the teleport ring quest?
I'm sorry I don't know this.

Işınlanma Yüzüğü 

 

can you help please?

Here is a tutorial so you don't have to ask such question next time:

K-perny-k-p-2023-02-17-210419.png

Edited by Metin2 Dev
Core X - External 2 Internal
  • Good 1
Link to comment
Share on other sites

  • Contributor
6 hours ago, HyperBae said:

thief gloves don't work

The glove with affect 67 (vnum: 71016) does not work because Ymir commented out it's plus percent from src:

bool ITEM_MANAGER::GetDropPct

	//if (pkKiller->GetPoint(POINT_MALL_ITEMBONUS) > 0)
	//iDeltaPercent += iDeltaPercent * pkKiller->GetPoint(POINT_MALL_ITEMBONUS) / 100;

If you uncomment this and recompile gamefile, it may work.

-----

The other gloves should work because they're used in bool ITEM_MANAGER::GetDropPct in item_manager.cpp

For item 72004-72006, they're increasing IDeltaPercent:

Quote

    // ADD_PREMIUM
    if (pkKiller->GetPremiumRemainSeconds(PREMIUM_ITEM) > 0 ||
            pkKiller->IsEquipUniqueGroup(UNIQUE_GROUP_DOUBLE_ITEM))
        iDeltaPercent += iDeltaPercent;
    // END_OF_ADD_PREMIUM

UNIQUE_GROUP_DOUBLE_ITEM is defined in special_item_group.txt

For item 70043 (UNIQUE_ITEM_DOUBLE_ITEM) is increasing iRandRange

Quote

    iRandRange = iRandRange * 100 / 
        (100 + 
         CPrivManager::instance().GetPriv(pkKiller, PRIV_ITEM_DROP) + 
         pkKiller->IsEquipUniqueItem(UNIQUE_ITEM_DOUBLE_ITEM)?100:0);

These 2 variable is used for the calculation for the chance in bool ITEM_MANAGER::CreateDropItem.

A common misunderstanding is that thieves' gloves will drop double items. No, this is not the case, it increases (a little) the chance of the drop.

Link to comment
Share on other sites

3 hours ago, TMP4 said:

The glove with affect 67 (vnum: 71016) does not work because Ymir commented out it's plus percent from src:

bool ITEM_MANAGER::GetDropPct

	//if (pkKiller->GetPoint(POINT_MALL_ITEMBONUS) > 0)
	//iDeltaPercent += iDeltaPercent * pkKiller->GetPoint(POINT_MALL_ITEMBONUS) / 100;

If you uncomment this and recompile gamefile, it may work.

-----

The other gloves should work because they're used in bool ITEM_MANAGER::GetDropPct in item_manager.cpp

For item 72004-72006, they're increasing IDeltaPercent:

UNIQUE_GROUP_DOUBLE_ITEM is defined in special_item_group.txt

For item 70043 (UNIQUE_ITEM_DOUBLE_ITEM) is increasing iRandRange

These 2 variable is used for the calculation for the chance in bool ITEM_MANAGER::CreateDropItem.

A common misunderstanding is that thieves' gloves will drop double items. No, this is not the case, it increases (a little) the chance of the drop.

UNIQUE_GROUP_DOUBLE_ITEM is defined in special_item_group.txt
Do you have an example of how this is declared?

Link to comment
Share on other sites

  • Contributor
53 minutes ago, HyperBae said:

UNIQUE_GROUP_DOUBLE_ITEM is defined in special_item_group.txt
Do you have an example of how this is declared?

It is there by default. You don't need to define it yourself.

K-perny-k-p-2023-02-20-202746.png

70043 is defined here too so it does increase both IDeltaPercent and iRandRange, so I guess it increases the chance the best. But check the calculation yourself on ITEM_MANAGER::CreateDropItem, it's overcompilcated as everything in Ymir's code.

By the way I did not touch such things so if something doesn't work well then it didn't work in the official servers at early 2014.

Edited by Metin2 Dev
Core X - External 2 Internal
Link to comment
Share on other sites

On 11/2/2023 at 19:48, TMP4 said:

Archivio Meg aggiornato.

Per fare questo aggiornamento ecco un piccolo tutorial:

  Nascondi contenuti

1. Se si utilizza la VM, modificare il contenuto root/.cshrc (controllare di seguito) e riavviare.

2. Creare una nuova cartella chiamata server nella cartella /usr/metin2/src.

3. Sposta tutti i costanti di /usr/metin2/src in /usr/metin2/src/server.

4. Quindi prendi questi file e cartelle da mega:
/usr/metin2/src/extern
/usr/metin2/src/server/game/src/Makefile /
usr/metin2/src/server/db/src/Makefile /
usr/ metin2/src/server/libsql/src/Makefile

5. Ricompilare libsql:
cd /usr/metin2/src/server/libsql
gmake clean
gmake dep gmake

6. Ricompilare db
dbclean
dbdep
dbcompile

7. Ricompila il gioco
gameclean
gamedep
gamecompile

Se trovi qualche bug (ad esempio relativo a mysql 5.6 include e lib in src), segnalamelo in modo che io possa dare un'occhiata e correggere.

https://metin2.download/picture/FsuIj4MUVxT08bBj8Vj2tIIiEM71vFLE/.png

Edited by Metin2 Dev
Core X - External 2 Internal
Link to comment
Share on other sites

  • Contributor
5 minutes ago, Nuzzo said:

You forgot step 5, recompile libsql. Does the lib exists? metin2/src/server/libsql/libsql.a

Edited by Metin2 Dev
Core X - External 2 Internal
Link to comment
Share on other sites

4 minutes ago, TMP4 said:

Hai dimenticato il passaggio 5, ricompilare libsql. La libreria esiste? metin2/src/server/libsql/libsql.a

Yes I did step 5 and I have that file, maybe the problem lies here?
https://metin2.download/picture/CLQ22J7R7A6k4fEKtseLH7ZqJva6ZIgz/.png

Edited by Metin2 Dev
Core X - External 2 Internal
Link to comment
Share on other sites

  • Contributor
4 minutes ago, Nuzzo said:

Try this:

cd /usr/metin2/src/server/libsql
gmake clean
gmake dep
gmake

(so the last gmake is seperate)

Edited by Metin2 Dev
Core X - External 2 Internal
Link to comment
Share on other sites

  • Contributor
8 hours ago, Nuzzo said:

Oh okay, thank you very much!
One last thing, but by extracting the extern folder in windows, is there a possibility of losing any links?

No, I didn't put any symlink there.

6 hours ago, GoldCash said:

Guys, when i want use dbcompile or gamecompile I stuck in i dont have clang++-devel. But i dont know how to install.. 
Can anyone help me with this?

You need FreeBSD 12+ (preferably 13.1) and pkg install llvm-devel. Then you can compile on a x32 system.

Link to comment
Share on other sites

1 hour ago, TMP4 said:

No, I didn't put any symlink there.

You need FreeBSD 12+ (preferably 13.1) and pkg install llvm-devel. Then you can compile on a x32 system.

Oh okey thank you, now i trying install offlineshop but i have problem with dbcompile

ToseIVy.png

Edited by Metin2 Dev
Core X - External 2 Internal
Link to comment
Share on other sites

The resolution was not changing in the config file, it was solved with this

https://s6.dosya.tc/server12/ry6ryw/config.exe.html

virustotal : 

This is the hidden content, please

 

ld: error: /usr/local/lib/mysql/libmysqlclient.a(client.c.o) is incompatible with elf_i386_fbsd
ld: error: /usr/local/lib/mysql/libmysqlclient.a(client_authentication.cc.o) is incompatible with elf_i386_fbsd
ld: error: /usr/local/lib/mysql/libmysqlclient.a(client_plugin.c.o) is incompatible with elf_i386_fbsd
ld: error: /usr/local/lib/mysql/libmysqlclient.a(errmsg.c.o) is incompatible with elf_i386_fbsd
ld: error: /usr/local/lib/mysql/libmysqlclient.a(get_password.c.o) is incompatible with elf_i386_fbsd
ld: error: /usr/local/lib/mysql/libmysqlclient.a(libmysql.c.o) is incompatible with elf_i386_fbsd
ld: error: /usr/local/lib/mysql/libmysqlclient.a(my_time.c.o) is incompatible with elf_i386_fbsd
ld: error: /usr/local/lib/mysql/libmysqlclient.a(net_serv.cc.o) is incompatible with elf_i386_fbsd
ld: error: /usr/local/lib/mysql/libmysqlclient.a(pack.c.o) is incompatible with elf_i386_fbsd
ld: error: /usr/local/lib/mysql/libmysqlclient.a(password.c.o) is incompatible with elf_i386_fbsd
ld: error: /usr/local/lib/mysql/libmysqlclient.a(dbug.c.o) is incompatible with elf_i386_fbsd
ld: error: /usr/local/lib/mysql/libmysqlclient.a(bchange.c.o) is incompatible with elf_i386_fbsd
ld: error: /usr/local/lib/mysql/libmysqlclient.a(bmove_upp.c.o) is incompatible with elf_i386_fbsd
ld: error: /usr/local/lib/mysql/libmysqlclient.a(ctype-big5.c.o) is incompatible with elf_i386_fbsd
ld: error: /usr/local/lib/mysql/libmysqlclient.a(ctype-bin.c.o) is incompatible with elf_i386_fbsd
ld: error: /usr/local/lib/mysql/libmysqlclient.a(ctype-cp932.c.o) is incompatible with elf_i386_fbsd
ld: error: /usr/local/lib/mysql/libmysqlclient.a(ctype-czech.c.o) is incompatible with elf_i386_fbsd
ld: error: /usr/local/lib/mysql/libmysqlclient.a(ctype-euc_kr.c.o) is incompatible with elf_i386_fbsd
ld: error: /usr/local/lib/mysql/libmysqlclient.a(ctype-eucjpms.c.o) is incompatible with elf_i386_fbsd
ld: error: /usr/local/lib/mysql/libmysqlclient.a(ctype-extra.c.o) is incompatible with elf_i386_fbsd
ld: error: too many errors emitted, stopping now (use --error-limit=0 to see all errors)
clang-16: error: linker command failed with exit code 1 (use -v to see invocation)
gmake: *** [Makefile:111: ../game] Error 1

I am trying to compile on a 64 bit system, the error I encountered is attached
I installed a 32 bit library, pkg libraries installed on the server are attached
 

apr-1.7.0.1.6.1_2              Apache Portability Library
autoconf-2.71                  Generate configure scripts and related files
autoconf-switch-20220527       Wrapper script to switch between autoconf versions
automake-1.16.5                GNU Standards-compliant Makefile generator
azure-agent-2.2.54.2_1         Microsoft Azure Linux Agent
bash-5.1.16                    GNU Project's Bourne Again SHell
bash-completion-2.11_2,2       Programmable completion library for Bash
boost-all-1.80.0               The "meta-port" for boost libraries
boost-docs-1.80.0              Documentation for libraries from boost.org
boost-jam-1.80.0               Build tool from the boost.org
boost-libs-1.80.0_1            Free portable C++ libraries (without Boost.Python)
ca_root_nss-3.76               Root certificate bundle from the Mozilla Project
cmake-3.24.3                   Meta-port to connect all CMake bits
cmake-core-3.24.3_2            Cross-platform Makefile generator
cmake-doc-3.24.3               HTML and Qt Creator helpfiles for CMake
cmake-man-3.24.3               Manual pages for CMake
cryptopp-8.7.0                 Free C++ class library of Cryptographic Primitives
db5-5.3.28_9                   Oracle Berkeley DB, revision 5.3
devil-1.8.0_1,1                Cross-platform image library
dialog4ports-0.1.6_1           Console Interface to configure ports
dmidecode-3.3                  Tool for dumping DMI (SMBIOS) contents in human-readable format
docbook-1.5                    Meta-port for the different versions of the DocBook DTD
docbook-sgml-4.5_1             DocBook SGML DTD
docbook-xml-5.0_3              DocBook XML DTD
docbook-xsl-1.79.1_1,1         XSL DocBook stylesheets
expat-2.5.0                    XML 1.0 parser written in C
firstboot-freebsd-update-1.3   Update the system using freebsd-update when it first boots
firstboot-pkgs-1.6             Install packages when the system first boots
freeglut-3.2.1                 Open source implementation of GLUT library
gdb-12.1_2                     GNU Project Debugger
gdbm-1.23                      GNU database manager
gettext-runtime-0.21           GNU gettext runtime libraries and programs
gettext-tools-0.21.1           GNU gettext development and translation tools
glib-2.74.5,2                  Some useful routines of C programming (current stable version)
gmake-4.3_2                    GNU version of 'make' utility
gmp-6.2.1                      Free library for arbitrary precision arithmetic
gnupg-2.3.8                    Complete and free PGP implementation
gnutls-3.7.9                   GNU Transport Layer Security library
groff-1.22.4_4                 Software typesetting package
gtk-doc-1.33.2_2               Code documentation system, originally for GTK+
help2man-1.49.3                Automatically generating simple manual pages from program output
icu-72.1,1                     International Components for Unicode (from IBM)
indexinfo-0.3.1                Utility to regenerate the GNU info page index
iso8879-1986_3                 Character entity sets from ISO 8879:1986 (SGML)
itstool-2.0.7                  Make XML documents translatable through po files
jasper-3.0.6                   Implementation of the codec specified in the JPEG-2000 standard
jbigkit-2.1_1                  Lossless compression for bi-level images such as scanned pages, faxes
jpeg-turbo-2.1.4               SIMD-accelerated JPEG codec which replaces libjpeg
jsoncpp-1.9.5                  JSON reader and writer library for C++
lcms-1.19_6,1                  Light Color Management System -- a color management library
lcms2-2.13.1                   Accurate, fast, and small-footprint color management engine
libGLU-9.0.2_1                 OpenGL utility library
libICE-1.1.0_1,1               Inter Client Exchange library for X11
libSM-1.2.3,1                  Session Management library for X11
libX11-1.7.2,1                 X11 library
libXau-1.0.9                   Authentication Protocol library for X11
libXdmcp-1.1.3                 X Display Manager Control Protocol library
libXext-1.3.4,1                X11 Extension library
libXfixes-6.0.0                X Fixes extension library
libXi-1.8,1                    X Input extension library
libXmu-1.1.3,1                 X Miscellaneous Utilities libraries
libXrandr-1.5.2                X Resize and Rotate extension library
libXrender-0.9.10_2            X Render extension library
libXt-1.2.1,1                  X Toolkit library
libXxf86vm-1.1.4_3             X Vidmode Extension
libassuan-2.5.5                IPC library used by GnuPG and gpgme
libdeflate-1.14                Fast, whole-buffer DEFLATE-based compression library
libedit-3.1.20221030,1         Command line editor library
libevent-2.1.12                API for executing callback functions on events or timeouts
libffi-3.4.4                   Foreign Function Interface
libffi33-3.3_2                 Foreign Function Interface (stripped down compat version)
libgcrypt-1.9.4_1              General purpose cryptographic library based on the code from GnuPG
libglvnd-1.6.0                 GL Vendor-Neutral Dispatch library
libgpg-error-1.46              Common error values for all GnuPG components
libiconv-1.17                  Character set conversion library
libidn2-2.3.4                  Implementation of IDNA2008 internationalized domain names
libksba-1.6.3                  Library to make X.509 certificates
liblz4-1.9.4,1                 LZ4 compression library, lossless and very fast
libmng-1.0.10_3                Multiple-image Network Graphics (MNG) reference library
libpaper-1.1.28                Library providing routines for paper size management
libpthread-stubs-0.4           Weak aliases for pthread functions
libtasn1-4.19.0                ASN.1 structure parser library
libtextstyle-0.21.1            Text styling library
libtool-2.4.7_1                Generic shared library support script
libunistring-1.1               Unicode string library
libuv-1.44.2                   Multi-platform support library with a focus on asynchronous I/O
libxcb-1.15                    The X protocol C-language Binding (XCB) library
libxml2-2.10.3_1               XML parser library for GNOME
libxslt-1.1.37                 XML stylesheet transformation library
llvm-devel-16.0.d20221220      LLVM and Clang
lua53-5.3.6                    Powerful, efficient, lightweight, embeddable scripting language
m4-1.4.19,1                    GNU M4
makedepend-1.0.6,1             Dependency generator for makefiles
meson-1.0.0                    High performance build system
mpdecimal-2.5.1                C/C++ arbitrary precision decimal floating point libraries
mpfr-4.1.1                     Library for multiple-precision floating-point computations
mysql56-client-5.6.51          Multithreaded SQL database (client)
mysql56-server-5.6.51          Multithreaded SQL database (server)
nettle-3.8.1                   Low-level cryptographic library
ninja-1.11.1,2                 Small build system closest in spirit to Make
npth-1.6                       New GNU Portable Threads
openssl-1.1.1t,1               TLSv1.3 capable SSL and crypto library
p11-kit-0.24.1_2               Library for loading and enumerating of PKCS#11 modules
p5-Locale-gettext-1.07         Message handling functions
p5-Locale-libintl-1.33         Internationalization library for Perl
p5-Text-Unidecode-1.30         US-ASCII transliterations of Unicode text
p5-Unicode-EastAsianWidth-12.0 East Asian Width properties
pcre2-10.42                    Perl Compatible Regular Expressions library, version 2
perl5-5.32.1_3                 Practical Extraction and Report Language
pinentry-1.2.1                 Collection of simple PIN or passphrase entry dialogs
pinentry-curses-1.2.1          Curses version of the GnuPG password dialog
pkg-1.19.0                     Package manager
pkgconf-1.8.1,1                Utility to help to configure compiler and linker flags
png-1.6.39                     Library for manipulating PNG images
psutils-1.17_5                 Utilities for manipulating PostScript documents
py38-pyasn1-0.4.8              ASN.1 toolkit for Python
py38-setuptools-57.0.0         Python packages installer
py39-cython-0.29.33            Compiler for Writing C Extensions for the Python Language
py39-libxml2-2.10.3            Python interface for XML parser library for GNOME
py39-lxml-4.9.2                Pythonic binding for the libxml2 and libxslt libraries
py39-pygments-2.14.0           Syntax highlighter written in Python
py39-setuptools-63.1.0         Python packages installer
python-3.8_3,2                 "meta-port" for the default version of Python interpreter
python27-2.7.18_2              Interpreted object-oriented programming language
python3-3_3                    Meta-port for the Python interpreter 3.x
python38-3.8.13                Interpreted object-oriented programming language
python39-3.9.16                Interpreted object-oriented programming language
readline-8.1.2                 Library for editing command lines as they are typed
rhash-1.4.3                    Utility and library for computing and checking of file hashes
scons-py39-4.3.0               Build tool alternative to make
sdocbook-xml-1.1_2,2           "Simplified" DocBook XML DTD
serf-1.3.9_6                   Serf HTTP client library
source-highlight-3.1.9_3       C/C++ and Java sources to HTML converter
sqlite3-3.40.1,1               SQL database engine in a C library
squish-1.15                    Open source DXT compression library
subversion-1.14.2_2            Version control system
sudo-1.9.10                    Allow others to run commands as root
tcl86-8.6.13                   Tool Command Language
texinfo-6.8_3,1                Typeset documentation system with multiple format output
tiff-4.4.0_1                   Tools and library routines for working with TIFF images
uchardet-0.0.8                 Universal charset detection library
utf8proc-2.8.0                 UTF-8 processing library
xmlcatmgr-2.2_3                SGML and XML catalog manager
xmlcharent-0.3_2               XML character entities
xorgproto-2022.1               X Window System unified protocol definitions
xxhash-0.8.1_2                 Extremely fast non-cryptographic hash algorithm
yelp-tools-42.0                Utilities to help manage documentation for Yelp and the web
yelp-xsl-42.0                  DocBook XSLT stylesheets for yelp
zstd-1.5.2_1                   Fast real-time compression algorithm

 

  • Metin2 Dev 4
  • Good 1
  • Love 1
  • Love 2
Link to comment
Share on other sites

  • Contributor

A small update:

2023.02.25: - There were 2 empty lines at the end of the map_index file, and the server only expects 1, so it reloads the last
              map in your index file which results in npc.txt, boss.txt, regen.txt and stone.txt being loaded twice.
              /usr/metin2/server/share/locale/english/map/map_index
            - PROXY_IP only worked with ip addresses but Karbust extended his tutorial to work with domain names so
              now you can use DynDNS, for example, if you want.
              https://metin2.dev/topic/28293-select-character-on-40k-for-local-server-and-vps/#comment-155509
  • Love 2
Link to comment
Share on other sites

  • Contributor
4 minutes ago, Alessio said:

how can i see the list of bonus that i can use in these source files?
i'm trying to use POINT_RESIST_CRITICAL / 136 but when i try to use it in navicat i get an error
https://photos.app.goo.gl/29PY29VYL9c951G59 

Check game/src/constants.cpp's const TApplyInfo aApplyInfo[MAX_APPLY_NUM] =

POINT_RESIST_CRITICAL is number 90.

Also keep in mind that the proto is read from item_proto.txt, not from database by default unless you implemented notxt.
In the txt you need to use APPLY_ANTI_CRITICAL_PCT.

(The navicat error in your picture is because you tried to enter a bigger number then the column's datatype)

  • Good 1
Link to comment
Share on other sites

Announcements



×
×
  • Create New...

Important Information

Terms of Use / Privacy Policy / Guidelines / We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.