Jump to content

Vanilla Core [latest: r71480]


Vanilla

Recommended Posts

  • Premium
Just now, andrermq said:

There is a great possibility that your database is incompatible with DB, its mob_proto or item_proto completely different from DB's understanding ...
Thus causing crash, and your vrunner, start and stop your db by several times ...
In itself the db uses little and almost nothing of RAM, in any freebsd.
I ask you to use simple start, and post syserr, syslog ^^
Or even post the syserr and syslog so that we can evaluate if I am right about what I think might be wrong...  :wacko:

I was thinking the same way. Not completely sure about it though. Gonna fix all those problems first and then i'll report.

Link to comment
Share on other sites

23 hours ago, scrabbyyy said:

pleaseeeeee for windows server filesssssssssss source build vs 2013 or 2015 vanillaaaaaaa plssssss anymoreee

I'm sorry to intrude ...
But anyone knows that windows itself has poor memory management, Server files from metin to windows are not a big deal, as it loses a lot of performance, not to mention the various bugs .... a same source that runs perfectly in freebsd Supporting several players, does not run on windows, crashes all the time ...;

Link to comment
Share on other sites

  • 1 month later...
On 01/02/2017 at 1:46 PM, Hik said:

/usr/bin/ld: cannot find: -llua

/usr/bin/ld: skipping incompatible /usr/local/lib/libIL.so when searching for -lIL
/usr/bin/ld: skipping incompatible /usr/local/lib/libIL.a when searching for -lIL
/usr/bin/ld: cannot find -lIL
clang-4.0: error: linker command failed with exit code 1 (use -v to see invocation)
 

Link to comment
Share on other sites

vor 4 Stunden schrieb Raise:

/usr/bin/ld: skipping incompatible /usr/local/lib/libIL.so when searching for -lIL
/usr/bin/ld: skipping incompatible /usr/local/lib/libIL.a when searching for -lIL
/usr/bin/ld: cannot find -lIL
clang-4.0: error: linker command failed with exit code 1 (use -v to see invocation)
 

you've built devIL the wrong way. Make sure it's built with clang and 32 bit (it you're running a 64 bit os).
The linker found your lib but it can't use it (that's why it's telling you it's skipping the incompatible lib).

We are the tortured.
We're not your friends.
As long as we're not visible.
We are unfixable.

Link to comment
Share on other sites

  • 4 weeks later...

Hello Vanilla,
I am currently testing your new source I find very nice the new mode of compilation with Clang-devel.

But I find its pity that you are taken again your source 68k you would have of resumption of 0.

There is always some classic bug as for the subType "SMALL" in your source "SAMLL"

And I find that the debug mode and release is a great interest.

I have already modified your source to my convenience and debug already a bug with ani.cpp you miss a comma in your file ani.cpp your game has the line "data / pc2 / shaman"

Link to comment
Share on other sites

  • Premium
On 18/4/2017 at 11:45 AM, Originale said:

Hello Vanilla,
I am currently testing your new source I find very nice the new mode of compilation with Clang-devel.

But I find its pity that you are taken again your source 68k you would have of resumption of 0.

There is always some classic bug as for the subType "SMALL" in your source "SAMLL"

And I find that the debug mode and release is a great interest.

I have already modified your source to my convenience and debug already a bug with ani.cpp you miss a comma in your file ani.cpp your game has the line "data / pc2 / shaman"

those things that you are mentioning are not bugs .

Link to comment
Share on other sites

Hello vanilla

I always meet bug

0d7ea5b16c6148d0b05e2482a0bd2383.png

And I can not find any where it can come

core game.core

 

Core was generated by `game'.
Program terminated with signal 6, Aborted.
Reading symbols from /lib/libm.so.5...(no debugging symbols found)...done.
Loaded symbols for /lib/libm.so.5
Reading symbols from /lib/libmd.so.6...(no debugging symbols found)...done.
Loaded symbols for /lib/libmd.so.6
Reading symbols from /usr/local/lib/libIL.so.1...(no debugging symbols found)...done.
Loaded symbols for /usr/local/lib/libIL.so.1
Reading symbols from /usr/local/lib/libjpeg.so.8...(no debugging symbols found)...done.
Loaded symbols for /usr/local/lib/libjpeg.so.8
Reading symbols from /usr/local/lib/mysql/libmysqlclient.so.18...(no debugging symbols found)...done.
Loaded symbols for /usr/local/lib/mysql/libmysqlclient.so.18
Reading symbols from /lib/libz.so.6...(no debugging symbols found)...done.
Loaded symbols for /lib/libz.so.6
Reading symbols from /usr/local/lib/libcryptopp.so.5...(no debugging symbols found)...done.
Loaded symbols for /usr/local/lib/libcryptopp.so.5
Reading symbols from /usr/local/lib/liblzo2.so.2...(no debugging symbols found)...done.
Loaded symbols for /usr/local/lib/liblzo2.so.2
Reading symbols from /usr/lib/libc++.so.1...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libc++.so.1
Reading symbols from /lib/libcxxrt.so.1...(no debugging symbols found)...done.
Loaded symbols for /lib/libcxxrt.so.1
Reading symbols from /lib/libgcc_s.so.1...(no debugging symbols found)...done.
Loaded symbols for /lib/libgcc_s.so.1
Reading symbols from /lib/libthr.so.3...(no debugging symbols found)...done.
Loaded symbols for /lib/libthr.so.3
Reading symbols from /lib/libc.so.7...(no debugging symbols found)...done.
Loaded symbols for /lib/libc.so.7
Reading symbols from /usr/local/lib/libnvtt.so...(no debugging symbols found)...done.
Loaded symbols for /usr/local/lib/libnvtt.so
Reading symbols from /usr/local/lib/libtiff.so.5...(no debugging symbols found)...done.
Loaded symbols for /usr/local/lib/libtiff.so.5
Reading symbols from /usr/local/lib/libpng16.so.16...(no debugging symbols found)...done.
Loaded symbols for /usr/local/lib/libpng16.so.16
Reading symbols from /usr/local/lib/libmng.so.1...(no debugging symbols found)...done.
Loaded symbols for /usr/local/lib/libmng.so.1
Reading symbols from /usr/local/lib/liblcms.so.1...(no debugging symbols found)...done.
Loaded symbols for /usr/local/lib/liblcms.so.1
Reading symbols from /usr/local/lib/libjasper.so.4...(no debugging symbols found)...done.
Loaded symbols for /usr/local/lib/libjasper.so.4
Reading symbols from /usr/lib/libssl.so.7...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libssl.so.7
Reading symbols from /lib/libcrypto.so.7...(no debugging symbols found)...done.
Loaded symbols for /lib/libcrypto.so.7
Reading symbols from /usr/lib/libexecinfo.so.1...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libexecinfo.so.1
Reading symbols from /usr/local/lib/libnvimage.so...(no debugging symbols found)...done.
Loaded symbols for /usr/local/lib/libnvimage.so
Reading symbols from /usr/local/lib/libnvmath.so...(no debugging symbols found)...done.
Loaded symbols for /usr/local/lib/libnvmath.so
Reading symbols from /usr/local/lib/libnvcore.so...(no debugging symbols found)...done.
Loaded symbols for /usr/local/lib/libnvcore.so
Reading symbols from /usr/local/lib/libImath-2_2.so.12...(no debugging symbols found)...done.
Loaded symbols for /usr/local/lib/libImath-2_2.so.12
Reading symbols from /usr/local/lib/libIlmImf-2_2.so.22...(no debugging symbols found)...done.
Loaded symbols for /usr/local/lib/libIlmImf-2_2.so.22
Reading symbols from /usr/local/lib/libIex-2_2.so.12...(no debugging symbols found)...done.
Loaded symbols for /usr/local/lib/libIex-2_2.so.12
Reading symbols from /usr/local/lib/libHalf.so.12...(no debugging symbols found)...done.
Loaded symbols for /usr/local/lib/libHalf.so.12
Reading symbols from /usr/local/lib/libIlmThread-2_2.so.12...(no debugging symbols found)...done.
Loaded symbols for /usr/local/lib/libIlmThread-2_2.so.12
Reading symbols from /usr/lib/liblzma.so.5...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/liblzma.so.5
Reading symbols from /usr/local/lib/libjbig.so.2...(no debugging symbols found)...done.
Loaded symbols for /usr/local/lib/libjbig.so.2
Reading symbols from /usr/lib/libelf.so.1...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libelf.so.1
Reading symbols from /usr/local/lib/libIexMath-2_2.so.12...(no debugging symbols found)...done.
Loaded symbols for /usr/local/lib/libIexMath-2_2.so.12
Reading symbols from /libexec/ld-elf.so.1...(no debugging symbols found)...done.
Loaded symbols for /libexec/ld-elf.so.1
#0  0x28ce8237 in thr_kill () from /lib/libc.so.7
[New Thread 29c04200 (LWP 100233/<unknown>)]
[New Thread 29c03f80 (LWP 100229/<unknown>)]
[New Thread 29c03d00 (LWP 100228/<unknown>)]
[New Thread 29c03080 (LWP 100148/<unknown>)]

bt full

 

#0  0x28ce8237 in thr_kill () from /lib/libc.so.7
No symbol table info available.
#1  0x28ce822a in raise () from /lib/libc.so.7
No symbol table info available.
#2  0x28ce8176 in abort () from /lib/libc.so.7
No symbol table info available.
#3  0x28d4f5c8 in __assert () from /lib/libc.so.7
No symbol table info available.
#4  0x081ae51c in CUniqueManager::CUniqueManager ()
No symbol table info available.
#5  0x080a59ee in quest::CQuestManager::unique_init ()
No symbol table info available.
#6  0x080a660f in quest::CQuestManager::Initialize ()
No symbol table info available.
#7  0x08171063 in main ()
No symbol table info available.

PS: I noticed that its coming from your new Unique function, I disable the call functions now the game starts.

thanks, cdt Originale

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

  • 2 weeks later...
Am 26.3.2017 um 00:00 schrieb Vanilla:

you've built devIL the wrong way. Make sure it's built with clang and 32 bit (it you're running a 64 bit os).
The linker found your lib but it can't use it (that's why it's telling you it's skipping the incompatible lib).

I have the same problem. Can you tell us what exacly to do?

I do run a 64bit os (FreeBSD 11+)

Link to comment
Share on other sites

  • 2 weeks later...
  • 2 weeks later...

Next  problem

Spoiler

de -D__SVN_VERSION__="70140-BETA" -c main.cpp -o debug/main.o
In file included from main.cpp:77:
In file included from /usr/include/gtest/gtest.h:61:
In file included from /usr/include/gtest/gtest-param-test.h:192:
In file included from /usr/include/gtest/internal/gtest-param-util.h:47:
/usr/include/gtest/gtest-printers.h:497:34: error: no member named 'tr1' in
      namespace 'std'
inline void PrintTo(const ::std::tr1::tuple<>& t, ::std::ostream* os) {
                          ~~~~~~~^
/usr/include/gtest/gtest-printers.h:497:44: error: expected ')'
inline void PrintTo(const ::std::tr1::tuple<>& t, ::std::ostream* os) {
                                           ^
/usr/include/gtest/gtest-printers.h:497:20: note: to match this '('
inline void PrintTo(const ::std::tr1::tuple<>& t, ::std::ostream* os) {
                   ^
/usr/include/gtest/gtest-printers.h:498:16: error: use of undeclared identifier
      't'
  PrintTupleTo(t, os);
               ^
/usr/include/gtest/gtest-printers.h:498:19: error: use of undeclared identifier
      'os'
  PrintTupleTo(t, os);
                  ^
/usr/include/gtest/gtest-printers.h:502:27: error: no member named 'tr1' in
      namespace 'std'
void PrintTo(const ::std::tr1::tuple<T1>& t, ::std::ostream* os) {
                   ~~~~~~~^
/usr/include/gtest/gtest-printers.h:502:37: error: expected ')'
void PrintTo(const ::std::tr1::tuple<T1>& t, ::std::ostream* os) {
                                    ^
/usr/include/gtest/gtest-printers.h:502:13: note: to match this '('
void PrintTo(const ::std::tr1::tuple<T1>& t, ::std::ostream* os) {
            ^
/usr/include/gtest/gtest-printers.h:503:16: error: use of undeclared identifier
      't'
  PrintTupleTo(t, os);
               ^
/usr/include/gtest/gtest-printers.h:503:19: error: use of undeclared identifier
      'os'
  PrintTupleTo(t, os);
                  ^
/usr/include/gtest/gtest-printers.h:507:27: error: no member named 'tr1' in
      namespace 'std'
void PrintTo(const ::std::tr1::tuple<T1, T2>& t, ::std::ostream* os) {
                   ~~~~~~~^
/usr/include/gtest/gtest-printers.h:507:37: error: expected ')'
void PrintTo(const ::std::tr1::tuple<T1, T2>& t, ::std::ostream* os) {
                                    ^
/usr/include/gtest/gtest-printers.h:507:13: note: to match this '('
void PrintTo(const ::std::tr1::tuple<T1, T2>& t, ::std::ostream* os) {
            ^
/usr/include/gtest/gtest-printers.h:508:16: error: use of undeclared identifier
      't'
  PrintTupleTo(t, os);
               ^
/usr/include/gtest/gtest-printers.h:508:19: error: use of undeclared identifier
      'os'
  PrintTupleTo(t, os);
                  ^
/usr/include/gtest/gtest-printers.h:512:27: error: no member named 'tr1' in
      namespace 'std'
void PrintTo(const ::std::tr1::tuple<T1, T2, T3>& t, ::std::ostream* os) {
                   ~~~~~~~^
/usr/include/gtest/gtest-printers.h:512:37: error: expected ')'
void PrintTo(const ::std::tr1::tuple<T1, T2, T3>& t, ::std::ostream* os) {
                                    ^
/usr/include/gtest/gtest-printers.h:512:13: note: to match this '('
void PrintTo(const ::std::tr1::tuple<T1, T2, T3>& t, ::std::ostream* os) {
            ^
/usr/include/gtest/gtest-printers.h:513:16: error: use of undeclared identifier
      't'
  PrintTupleTo(t, os);
               ^
/usr/include/gtest/gtest-printers.h:513:19: error: use of undeclared identifier
      'os'
  PrintTupleTo(t, os);
                  ^
/usr/include/gtest/gtest-printers.h:517:27: error: no member named 'tr1' in
      namespace 'std'
void PrintTo(const ::std::tr1::tuple<T1, T2, T3, T4>& t, ::std::ostream* os) {
                   ~~~~~~~^
/usr/include/gtest/gtest-printers.h:517:37: error: expected ')'
void PrintTo(const ::std::tr1::tuple<T1, T2, T3, T4>& t, ::std::ostream* os) {
                                    ^
/usr/include/gtest/gtest-printers.h:517:13: note: to match this '('
void PrintTo(const ::std::tr1::tuple<T1, T2, T3, T4>& t, ::std::ostream* os) {
            ^
/usr/include/gtest/gtest-printers.h:518:16: error: use of undeclared identifier
      't'
  PrintTupleTo(t, os);
               ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.
gmake: *** [Makefile:77: debug/main.o] Error 1
root@:/home/src/test/vanilla/game/src #

 

 

Link to comment
Share on other sites

  • 2 weeks later...

@Vanilla

Hi Vanilla, i wanted to ask you something.
I extracted the Unique functions from your sources.
The compile works fine but when I give the "/ reload q" command I get the following error: assertion failed: (! Ms_singleton), function singleton, file ./../../common/singleton.h, line 11.

 

GDB:

Immagine.png

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

1 hour ago, Denny2399 said:

Singleton.h is missing included assert.h or something like that. I have the same problem

Sure, sure .. and the roses are blue? ))

@Hik

The problem is in the unique functions. More probably you used a wrong function somewhere in the unique lua functions. I have no idea. Nobody is a wizard to know what's in your files.  Backtrace it's very clear , core crash when try to load unique lua functions.

Link to comment
Share on other sites

Vanilla rev 70220 released!

 

News to everyone! I have the next build ready but I'm running into a few issues. I'm seriously unable to virtualize 32 bit systems so I'm not able to compile a new core. But! I'm here to reveal the source code of the new revision. Note that this is a somewhat dev-hybrid build. I was not able to test the changes to some features, but the core itself is stable if you do not use the experimental features (all the experimental features must be user by the admin itself, users cannot trigger any of those).

 

Download (binary): ^_^
Download (source): 

This is the hidden content, please

password: vanillamt2

 

What's the changes? (good old vanilla-style):

~General~
* changed from BETA to STABLE
* changed to c++1z (don't know if that was the case with the older builds too..^^)
* Fixed some compiler flags that broke the release build
* Re-added the lib32-rpath stuff
* Fixed some minor bugs with messages from the unique class
* code cleanup at some parts
* Fixed minor warnings introduced with more recent compilers
+ Added new window for items - the VOID. It's a dark place and guaranteed to be spooky. And it's a place where you can safely deposit items which no character should have access to but still maintain the owner. So yep, items placed in the void will still be saved in the item table. (experimental!)
* Implemented elevation for m2. You can enable it via CONFIG flag and use a standard key for testservers (also changeable).

~CONFIG~
+ elevation_enable (bool): If enabled, the elevation system is active. It prevents users from getting >=gm privileges until they elevate via the su command and the specified passphrase. Note that you need to add the table column if you want to use this function (and that's the reason I didn't auto-enable it, backwards-compatibility)
+ elevation_key (string): This is the default elevation key. It's only used if you're running a testserver. So you'd probably change this to something else then default.

~Message system (experimental!!!)~
This system works with quests (and may be altered to other stuff). You can send messages via the new message class. It is even possible to add a fee (which would cost the receiver money if he wants to redeem what's inside) and multiple items. Items attached to messages are sent to the void (see above). Players can fetch all their messages and even redeem their contents. Messages are stored on the server in textfiles. Yep, there's even a new quest trigger (look below)

~questfunctions~
+ item.void(): sends the current selected item to the void (2spooky4me)
+ npc.walk_to_pos(x(int), y(int)): let's the current selected npc walk to the given coordinates
+ unique.walk_to_pos(key(string), x(int), y(int)[, container(string)]: Let's the unique mob walk to the given coordinates

~questtriggers~
+ message (example: when message begin): Does trigger when the player receives a message

 

Developers note:
I know it's been a looong while. And I have some apologies for it. Not only rl. But well, here it is. I've focused on implementing experimental stuff that's actually optional. If you don't want to use the message or void function, you don't have to. So we won't go into any security risks. The core has been proven to be stable. So well, let's call it like that. Elevation is a must-have in modern servers, especially since so many security flaws in the past could lead to people receiving GM-status. This will break those possibilities since even a testserver would still be a protected environment. No one could get implementor rights without elevating, though all the testing stuff is still possible. I think this may be a big step forward if people start to use it.

 

Best Regards
Vanilla

  • Metin2 Dev 4
  • Good 3
  • Love 11

We are the tortured.
We're not your friends.
As long as we're not visible.
We are unfixable.

Link to comment
Share on other sites

Hi!! Thanks for sharing.

I updated all my project to c++14 following your release.

I was trying some changes like comment "phase_close" which can be problematic and it is better not to comment. (The ones that I have seen your comments)

And in production environment cause cores.

I dont knouw if it general or only my problem, just saying.

 

PD: That was in first release.

 

Link to comment
Share on other sites

vor 6 Stunden schrieb charparodar:

Can you share a file example and the rest of the functions for this?


extern DWORD g_start_position[4][2];
extern DWORD g_create_positio[4][2];

Thanks

The following script should work. You'll have to create a textfile in locale called coordinates.txt (the segment for loading this file is right beyond the exp-table loader in config.cpp). First you'll have to define the map index for each empire from 1 to 3. Next are the coordinates of the map where the player should spawn when created. Lastly, the coordinates of the start can be applied. For example, if a player gets created, he'll start a certain point. And everytime he dies on this map and chooses to respawn "at town", he'll be send back to the coordinates provided by start_position. So the segment could look like this

#maps
1
2
3
#create_coords
10 10
20 20
30 30
#start_coords
10 10
20 20
30 30

Of course the coordinates and map index in this "example" do not make any sense. But it's here for showing you how the system works. Note that you can comment lines via # so the core won't read them.

 

 

Regarding unique bugs - make sure you're running the system properly and try to run unique.init() first (you can even use it on boot to make sure the system works). If you extract it from my core and place it in yours I cannot give any support since I honestly don't know what you're doing and what your core is doing with that. So best is to try it with the vanilla core and if an error occurs, feel free to post a syslog and a detailed error report:
What happens?
When does this happened?
Is this error reproducable?
If the error is reproducable, what are the steps to cause it?
This is an example how I'd like to receive error reports. I will work at them and help you but please understand that I need proper details.
 

  • Love 2

We are the tortured.
We're not your friends.
As long as we're not visible.
We are unfixable.

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.