Jump to content

Vanilla Core [latest: r71480]


Vanilla

Recommended Posts

Hey everybody! I've got some news on the upcoming release.

Thanks to people sending me code snippets I'm able to crush some bugs that I wasn't able to notice (due to not using the functions as my daily driver).

Additionally further vanilla revs will no longer use different locale-files depending on the country. What I mean with this is that it will always read locale.lua in your quest-folder instead of anything else. Though the countries still does count, since it will still be used when moving to the quest directory (for example locale/de or locale/gb). Only the locale.lua is a unified way of reading this file.

Next is a total conversion into utf8. This means that also the database will be read with utf8 encoding. If you go ahead and convert your client to utf8 too, you'll be able to send and receive messages with characters you may not be able to use before. utf8 is a unified way of handling charsets and the future vanilla revs will only run with this charset.

Of course this may or may not break backwards compatibility. I've chosen to go this route since it fixes a few things I'm also planning for the future and is less error-prone if you only have to deal with one charset. Also it's more simple since the database can (and should!!!) be changed to utf8 and this way represent all the needed characters. Ultimately, if you want to upgrade to higher python versions, utf8 will be needed since it's the only charset more recent python versions will use. And thus, having a server set up for exactly this charset is just perfect.

 

One important note on this - I will not break the easiness of installing the core. This means that I don't want you to have to follow steps just to use the core. I will only turn these features on when you specify it in your CONFIG file. So expect a new option. But I will print a warning if you don't activate the option since it's more or less the future and some day I will just merge in the changes and remove the ability to opt-out.

  • Love 4

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

Spoiler

 

char_item.cpp

 

Search


bool CHARACTER::DoRefine(LPITEM item, bool bMoneyOnly)


In my source I have this check


		if (true == item->isLocked())		
	{		
		ChatPacket(CHAT_TYPE_INFO, "Bu iteme artı basamazsın.");		
		return false;		
	}

Maybe someone will find this helpfull


 

How can we install devel/libcxxrt and /devel/libc++ now ?

https://www.freshports.org/devel/libc++

No installation instructions: this port has been deleted.

The package name of this deleted port was:

PKGNAME: libc++

https://www.freshports.org/devel/libcxxrt

No installation instructions: this port has been deleted.

The package name of this deleted port was:

PKGNAME: libcxxrt

 

Best Regards,

Undyne

Link to comment
Share on other sites

Am 6.8.2017 um 19:28 schrieb Undyne:
  Unsichtbaren Inhalt anzeigen

 

char_item.cpp

 

Search



bool CHARACTER::DoRefine(LPITEM item, bool bMoneyOnly)


In my source I have this check



		if (true == item->isLocked())		
	{		
		ChatPacket(CHAT_TYPE_INFO, "Bu iteme artı basamazsın.");		
		return false;		
	}

Maybe someone will find this helpfull

 

 

 

 

How can we install devel/libcxxrt and /devel/libc++ now ?

https://www.freshports.org/devel/libc++


No installation instructions: this port has been deleted.

The package name of this deleted port was:

PKGNAME: libc++

https://www.freshports.org/devel/libcxxrt


No installation instructions: this port has been deleted.

The package name of this deleted port was:

PKGNAME: libcxxrt

 

Best Regards,

Undyne

There's no need to install libcxxrt and libc++ in recent FreeBSD distributions since it's now part of the base system and already included. You don't need to install it manually.

  • Love 1

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

On 8/7/2017 at 9:00 PM, Vanilla said:

There's no need to install libcxxrt and libc++ in recent FreeBSD distributions since it's now part of the base system and already included. You don't need to install it manually.

Dear Vanilla,

 

I must start with saying that I'm sorry that I have to ask you something long (and probably boring to read) like this.

How can I compile your source ?

 

Let me tell you what I did and what's not working.

I installed FreeBSD 11.0 (i386) from the official FreeBSD website

Installed pkg:

/usr/sbin/pkg

pkg2ng

echo 'WITH_PKGNG=yes' >> /etc/make.conf

Installed  clang:

cd /usr/ports/lang/clang-devel/ && make install clean

Installed makedepend:

cd /usr/ports/devel/makedepend/ && make install clean

Added in make.conf

CC = clang-devel
CPP = clang-cpp-devel
CXX = clang++-devel
CFLAGS += -stdlib=libc++

Installed googletest:

cd /usr/ports/devel/googletest/ && make install clean

Installed cryptopp:

cd /usr/ports/security/cryptopp/ && make install clean

Installed devil:

cd /usr/ports/graphics/devil/ && make install clean

But I've got this problem

tMg5XEly.png

Then I used 'make DISABLE_VULNERABILITIES=yes' and in the end it successfully installed ( I guess )

 

Installed mariadb101-client

cd /usr/ports/databases/mariadb101-client/ && make install clean

 

 

I must say that while the ports were being installed i spotted this warning (multiple times and on different ports )

vswf8VS.png

I know that you told me that there's no need to install libcxxrt and libc++, but I found them in usr/src/lib and tried to install them.

CdyUbQP.png

I haven't found libc++.ld on my system

 

 

 

Anyway, that's all I did with the installation thing. Now when I try to use gmake depend this error shows:

3sEVGby.png

Sorry again for the long message. I hope you can and want to help me.

 

Best Regards,

Undyne

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

at first

CFLAGS += -stdlib=libc++

is not needed anymore since FreeBSD already uses libc++ with the most recent versions since.. well, clang is the default compiler and libc++ is now a part of the base system :)
There's no need in adding this variable.

 

Next you need makedepend. It'd be located in devel in the portstree.

Also you'd check if your portstree is up to date. To do so, try portsnap fetch update. If this doesn't work (which mostly happens if you install a clean freeBSD [and it's not a wonder ;D]) then just go ahead and use portsnap fetch extract.
I recommend rebuilding every port after updating the ports tree. Your warnings were because you used an outdated portstree and the ports are marked as a security risk since.. yeah, they're outdated and maybe have security flaws.

After all this you'd be ready to go. Ah, and don't use gmake depend. The instruction is declared as gmake dep and not gmake depend :)

  • Love 1

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

13 hours ago, Vanilla said:

at first


CFLAGS += -stdlib=libc++

is not needed anymore since FreeBSD already uses libc++ with the most recent versions since.. well, clang is the default compiler and libc++ is now a part of the base system :)
There's no need in adding this variable.

 

Next you need makedepend. It'd be located in devel in the portstree.

Also you'd check if your portstree is up to date. To do so, try portsnap fetch update. If this doesn't work (which mostly happens if you install a clean freeBSD [and it's not a wonder ;D]) then just go ahead and use portsnap fetch extract.
I recommend rebuilding every port after updating the ports tree. Your warnings were because you used an outdated portstree and the ports are marked as a security risk since.. yeah, they're outdated and maybe have security flaws.

After all this you'd be ready to go. Ah, and don't use gmake depend. The instruction is declared as gmake dep and not gmake depend :)

Thank you ! I'll try and come back with an edit.

 

Edit:

HxmIjRV.jpg

 

Working perfectly with debug game and db files, but when I try to start the server with release files this error pops up:

MQlSXNu.png

 

Also I removed the highlighted text in makefile (from game)

2h0rvl4.png

because when I tried to compile game i had this problem

QuSLmss.png

I guess it's ok since I have all the needed libs.

I'm looking forward for your replay !

 

Best Regards,

Undyne

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

The error appears when you compile with -Ofast. Try lowering it to -O3 and if that doesn't hit it, then go with -O2. IT happens only on game, not db :)

I recommend not removing -Wl,-rpath,/usr/local/lib32/metin2 since this specifies the path where libraries are loaded. Of course, that's a typo of mine in the public release (which will be fixed in next version too). It'd be -rpath and not just rpath, which is why you get the error.

  • Love 1

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

vor 16 Minuten schrieb Vanilla:

The error appears when you compile with -Ofast. Try lowering it to -O3 and if that doesn't hit it, then go with -O2. IT happens only on game, not db :)

I recommend not removing -Wl,-rpath,/usr/local/lib32/metin2 since this specifies the path where libraries are loaded. Of course, that's a typo of mine in the public release (which will be fixed in next version too). It'd be -rpath and not just rpath, which is why you get the error.

Hey Vanilla,

thanks for your answer, unfortunately -o3 and -o2 doesnt solve the problem. Do you have any other ideas ?

Link to comment
Share on other sites

6 minutes ago, Aliano said:

Hey Vanilla,

thanks for your answer, unfortunately -o3 and -o2 doesnt solve the problem. Do you have any other ideas ?

 

22 minutes ago, Vanilla said:

The error appears when you compile with -Ofast. Try lowering it to -O3 and if that doesn't hit it, then go with -O2. IT happens only on game, not db :)

I recommend not removing -Wl,-rpath,/usr/local/lib32/metin2 since this specifies the path where libraries are loaded. Of course, that's a typo of mine in the public release (which will be fixed in next version too). It'd be -rpath and not just rpath, which is why you get the error.

Can confirm that -O1 is not working either.

Link to comment
Share on other sites

11 minutes ago, Damn said:

its the -DNDEBUG with it it works

Thanks man, it's working. I tried first with -ggdb, but you overcame me.

47 minutes ago, Vanilla said:

The error appears when you compile with -Ofast. Try lowering it to -O3 and if that doesn't hit it, then go with -O2. IT happens only on game, not db :)

And I really want to thank you too, you helped me a lot: really appreciate it ^_^ Keep up the good work !

Link to comment
Share on other sites

  • 2 weeks later...

Hello,

always when i try to create a guild. the Server goes down. channel Syserr:

socket_connect: HOST localhost:15000, could not connect.

 

all syserr the same. the db syserr:

SYSERR: Aug 22 22:22:31 :: pid_init: 
Start of pid: 8523

SYSERR: Aug 22 22:22:31 :: Start: TABLE_POSTFIX not configured use default

 

Terminal:

connect: Connection refused

 

mysql is still running

Link to comment
Share on other sites

On 1/29/2017 at 1:22 AM, Vanilla said:

 

Core download link down.. I know that it had the needed libs too. I'm having this problem and i think that it is from libc.so.7. Would someone please reupload them ?

 

Link to comment
Share on other sites

This weekend I'll release the next rev. Expect some great additions like I mentioned before. Also thanks to the community this new build will have a lot of minor bugs fixed. Going open source was the best decision in my opinion, I'd never have found them since some of them require a special setup which I'd never do. So yeah, I'd like to thank the community for it's suggestions and fixes. Even though I have very limited spare time to work with the core these days I was able to make big steps with the core and that's all thanks to the community. So yep: Thank you.

  • Love 3

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

  • 3 weeks later...
  • 3 weeks later...
Am 29.8.2017 um 23:00 schrieb Vanilla:

This weekend I'll release the next rev. Expect some great additions like I mentioned before. Also thanks to the community this new build will have a lot of minor bugs fixed. Going open source was the best decision in my opinion, I'd never have found them since some of them require a special setup which I'd never do. So yeah, I'd like to thank the community for it's suggestions and fixes. Even though I have very limited spare time to work with the core these days I was able to make big steps with the core and that's all thanks to the community. So yep: Thank you.

Sers Vanilla,

 

auch wenn alles nicht gleich auf anhieb funktioniert hat, ist es uns doch zuletzt immer gelungen das ganze zum laufen zu bringen. Deshalb Danke erst einmal für deine Mühe. am 29.08 hast du geschrieben das du eine neue Rev am Wochenende veröffentlichen möchtest. Seit dem schaue ich täglich nach. Hast du eine grobe Vorstellung wann die neue Rev Online kommt ?

Link to comment
Share on other sites

Sorry for the delay. The new build is ready. I'm looking for volunteers that want to test the new core. Just drop me a pm please, I just need someone to test a few things and we're ready to go for the next rev.

  • Love 5

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.