Welcome!

Join our community of MMO enthusiasts and game developers! By registering, you'll gain access to discussions on the latest developments in MMO server files and collaborate with like-minded individuals. Join us today and unlock the potential of MMO server development!

Join Today!

Nexus TK Server (DB+Source Code+Map Editor)

Initiate Mage
Joined
Sep 19, 2015
Messages
1
Reaction score
1
For anybody who stumbles on this thread, here's a few things I learned the hard way yesterday:

- While this code compiles on x64 machines, it will segfault itself to death when you try to run it. Get a x86 machine.

- On Centos, you will need to edit Makefile and change -llua5.1 to just -llua.

- You can compile this code on OSX but you need to use homebrew GCC and also, you gotta rename a few functions.

- On Ubuntu 14.04, here are the packages you need to install to get going:

apt-get install mysql-client libmysqlclient18 libmysqlclient-dev build-essential mysql-server liblua5.1-0-dev


- Running NexusTK on VMWare was horrible. Couldn't get ddraw.dll to work and it wouldn't respect the changes in my hosts file. Had to install a DNS server to get the client connected.



Oh, another note. If you get the message "Chaos is occuring" when you try to connect to your server, make sure you have at least two entries in the tables "Maps" and "MapRegistry".
 
Last edited:
Newbie Spellweaver
Joined
Aug 26, 2011
Messages
37
Reaction score
24
For anybody who stumbles on this thread, here's a few things I learned the hard way yesterday:

- While this code compiles on x64 machines, it will segfault itself to death when you try to run it. Get a x86 machine.

- On Centos, you will need to edit Makefile and change -llua5.1 to just -llua.

- You can compile this code on OSX but you need to use homebrew GCC and also, you gotta rename a few functions.

- On Ubuntu 14.04, here are the packages you need to install to get going:

apt-get install mysql-client libmysqlclient18 libmysqlclient-dev build-essential mysql-server liblua5.1-0-dev


- Running NexusTK on VMWare was horrible. Couldn't get ddraw.dll to work and it wouldn't respect the changes in my hosts file. Had to install a DNS server to get the client connected.



Oh, another note. If you get the message "Chaos is occuring" when you try to connect to your server, make sure you have at least two entries in the tables "Maps" and "MapRegistry".

I use x64 machine runing Win 7/64 and no problem at all...
 
Initiate Mage
Joined
Oct 4, 2015
Messages
2
Reaction score
1
I have it mostly up and running to where I can register characters and see them appear in the database and I have disabled registration verification.

The problem I'm running into was mentioned a few posts back about when connecting you see the loading map screen and it just hangs there never loading the map. I didn't see a resolution noted by the poster though.

I have have filled out the same thing that HappyFeet Hax had in a snapshot in my Maps and MapRegistry table. But to no avail. I'm still just getting stuck at the loading map screen.

Does anyone have a solution to this problem?

Thanks for the help!
 
Initiate Mage
Joined
Oct 4, 2015
Messages
2
Reaction score
1
I have it mostly up and running to where I can register characters and see them appear in the database and I have disabled registration verification.

The problem I'm running into was mentioned a few posts back about when connecting you see the loading map screen and it just hangs there never loading the map. I didn't see a resolution noted by the poster though.

I have have filled out the same thing that HappyFeet Hax had in a snapshot in my Maps and MapRegistry table. But to no avail. I'm still just getting stuck at the loading map screen.

Does anyone have a solution to this problem?

Thanks for the help!

For anyone running into this problem, it has to do with the IP address specified in the map.conf configuration file. if you leave it set to 127.0.0.1 and you are not running the server from the same system that your client is running on then it will not load the map.

Change it to the IP of your server then you and others outside of your network should be able to connect and load the maps.

Just thought I'd share after finding the resolution in case others may run into the same problem.

Cheers!
 
Newbie Spellweaver
Joined
May 22, 2004
Messages
17
Reaction score
11
Please make sure your table NPCs => NpcId and table Spawns => SpnId is in sequence start from 1
problem will occur if the id not on sequence when doing reloadnpc or spawn
if you encounter one or more these problem below please check on the id
1. npc dialog ended prematurely
2. mob spawned double in the same map
3. mob not spawning at all at some map
4. npc not clickable

there is a few ways to change the id in sequence
1. you can drop the id field and re-add it back
2. or u can copy and paste this query

SET @num := 0;
UPDATE Spawns SET SpnId = @num := (@num+1);
ALTER TABLE Spawns AUTO_INCREMENT = 1;

change the Spawns with NPCs if you want to update the NPCs id

Thanks :)
 
Initiate Mage
Joined
Dec 5, 2015
Messages
2
Reaction score
2
Hi guys.

First of all i would like to say i am a developer, i am currently rewriting most of Mithia for two things, first of all to improve the functions, as there's very very programming practices in it. Second is because i am porting it for the 5.33 client, which have a lot of different packets. I don't know if i will make my version public though, as Zakai(aka Eldorado or whatever he's called now) stole our various projects. As you may see in the sources, it was called Yuri, it was developed by a guy named Aier, who built it on a LOT of our original team contributions. We did a heck of a job reverse-engineering and decoding what each byte of the packets meant.

For anybody who stumbles on this thread, here's a few things I learned the hard way yesterday:

- While this code compiles on x64 machines, it will segfault itself to death when you try to run it. Get a x86 machine.

- On Centos, you will need to edit Makefile and change -llua5.1 to just -llua.

- You can compile this code on OSX but you need to use homebrew GCC and also, you gotta rename a few functions.

- On Ubuntu 14.04, here are the packages you need to install to get going:

apt-get install mysql-client libmysqlclient18 libmysqlclient-dev build-essential mysql-server liblua5.1-0-dev


- Running NexusTK on VMWare was horrible. Couldn't get ddraw.dll to work and it wouldn't respect the changes in my hosts file. Had to install a DNS server to get the client connected.



Oh, another note. If you get the message "Chaos is occuring" when you try to connect to your server, make sure you have at least two entries in the tables "Maps" and "MapRegistry".

On a 64 bits Linux machine, you will need multilib, which mean packages for both 64 and 32 bits, including GCC, MySQL and LUA. Then what you want to do is to modify the Makefile to point toward the 32 bits binaries, like so :

CC = gcc -pipe -w -g
MAKE = make -s
CFLAGS = -fno-stack-protector -ffast-math -Wall -Wno-sign-compare -DFD_SETSIZE=1024 -DNO_MEMMGR -DLOGGING_ENABLED -DUSE_MYSQL -I../common -I/usr/include/mysql -I/usr/include/lua5.1 -I/usr/local/zlib/include -m32
CLIBS = -L../lib32 -L/usr/local/lib32 -L/usr/lib32 -L/usr/local/mysql/lib32 -lcrypt -lmysqlclient -lm -lz -ldl -llua -m32

It is running A1 for me on Gentoo Linux.

If you have any problems, open four terminals and run each server binaries without using nohup to see if there's errors like not connecting to MySQL, not able to load maps, or such, simply start them like : "./map-server", etc. For segfaults, you may want to go watch a guide on how to use GDB.

If you guys have any questions, you can always try asking me.

Oh and by the way, if someone would like to contribute to my project called NexZero, i would appreciate it very much. I'm taking care of the source rewriting, clearing some crappy unnecessary LUA scripts, optimizing it to the fullest. I am also putting together a lot of details on version 5.x and 4.x of the server/clients, with old maps, old quests, old items and such. It's quite a lot of work. If someone would be kind enough to make some samples of items/mobs/clans and such, like for items, make a sample sword, helmet, armor, accessory, it would ease the burden on my shoulders.

Thank you!

Here's some screenshots of my advancements with my heavily modified server.

Nobel - Nexus TK Server (DB+Source Code+Map Editor) - RaGEZONE Forums

Nobel - Nexus TK Server (DB+Source Code+Map Editor) - RaGEZONE Forums
 
Last edited:
Initiate Mage
Joined
Dec 13, 2015
Messages
2
Reaction score
0
Hi guys.

First of all i would like to say i am a developer, i am currently rewriting most of Mithia for two things, first of all to improve the functions, as there's very very programming practices in it. Second is because i am porting it for the 5.33 client, which have a lot of different packets. I don't know if i will make my version public though, as Zakai(aka Eldorado or whatever he's called now) stole our various projects. As you may see in the sources, it was called Yuri, it was developed by a guy named Aier, who built it on a LOT of our original team contributions. We did a heck of a job reverse-engineering and decoding what each byte of the packets meant.



On a 64 bits Linux machine, you will need multilib, which mean packages for both 64 and 32 bits, including GCC, MySQL and LUA. Then what you want to do is to modify the Makefile to point toward the 32 bits binaries, like so :

CC = gcc -pipe -w -g
MAKE = make -s
CFLAGS = -fno-stack-protector -ffast-math -Wall -Wno-sign-compare -DFD_SETSIZE=1024 -DNO_MEMMGR -DLOGGING_ENABLED -DUSE_MYSQL -I../common -I/usr/include/mysql -I/usr/include/lua5.1 -I/usr/local/zlib/include -m32
CLIBS = -L../lib32 -L/usr/local/lib32 -L/usr/lib32 -L/usr/local/mysql/lib32 -lcrypt -lmysqlclient -lm -lz -ldl -llua -m32

It is running A1 for me on Gentoo Linux.

If you have any problems, open four terminals and run each server binaries without using nohup to see if there's errors like not connecting to MySQL, not able to load maps, or such, simply start them like : "./map-server", etc. For segfaults, you may want to go watch a guide on how to use GDB.

If you guys have any questions, you can always try asking me.

Oh and by the way, if someone would like to contribute to my project called NexZero, i would appreciate it very much. I'm taking care of the source rewriting, clearing some crappy unnecessary LUA scripts, optimizing it to the fullest. I am also putting together a lot of details on version 5.x and 4.x of the server/clients, with old maps, old quests, old items and such. It's quite a lot of work. If someone would be kind enough to make some samples of items/mobs/clans and such, like for items, make a sample sword, helmet, armor, accessory, it would ease the burden on my shoulders.

Thank you!

Here's some screenshots of my advancements with my heavily modified server.

Hi Malaki,

what map extension for 5.xx client ? is it still using .map ?

I have try many time to port it to 5.xx client, but still failed. Stuck on loading map.
 
Initiate Mage
Joined
Dec 5, 2015
Messages
2
Reaction score
2
Hi alfath! Happy to see i am not the only one trying to achieve that goal.

I would have to check the commit to see what i did exactly, as some packets have different value, like for example sometimes you will have to remove some bytes and do -1 on all others, sometimes it's quite more complicated.

If you are using the original map editor (made for Baram), the .map have one "SWAP16" less. In map_read function, put :

while(!feof(fp)) {
fread(&buff, 2, 1, fp);
map[id].tile[pos] = SWAP16(buff);

// 5.33 Maps don't have pass.
// fread(&buff, 2, 1, fp);
// map[id].pass[pos] = SWAP16(buff);
map[id].pass[pos] = SWAP16(0);

fread(&buff,2,1,fp);
map[id].obj[pos] = SWAP16(buff);
//map[id].pass[pos]=0;
//all map section is walkable
//map[id].map[pos] = 0;


It may need some more to do the trick. I'll share the sources with you anyway so you can see it by yourself.
 
Initiate Mage
Joined
Jan 10, 2016
Messages
2
Reaction score
0
I don't get how anyones gotten this to work, I've been trying using cygwin, ubuntu, I cannot even get it to compile. On cygwin it doesnt even recognize the apt-get or sudo commands. I am using windows 7, any help would be greatly appreciated.
 
Newbie Spellweaver
Joined
Aug 26, 2011
Messages
37
Reaction score
24
I'll try to manage to send the cygwin, since the size is about 2,8 GB need alot of internet quota. I'll try to compress it later so every one can mess out with the source... :)
 
Joined
Oct 21, 2010
Messages
316
Reaction score
175
I'll try to manage to send the cygwin, since the size is about 2,8 GB need alot of internet quota. I'll try to compress it later so every one can mess out with the source... :)


Thank you in advance if you send the cygwin.

I also have been trying for months to get this to work and to no go. :blink:

Here is a link to all
Credits: DrizztDarkwater & reddit
 
Last edited:
Newbie Spellweaver
Joined
Aug 26, 2011
Messages
37
Reaction score
24
Thank you in advance if you send the cygwin.

I also have been trying for months to get this to work and to no go. :blink:

Here is a link to all
Credits: DrizztDarkwater & reddit

I will pack everything so everyone can runing mithia on win7, im not giving my project here since the scripts belong to the team. Ah some ppl maybe doesnt know that cygwin doesnt use apt get command. Cygwin is ready use packet here. We use cygwin for compiling, recompiling the source and runing the server since the cygwin already include the database too. Sorry its a quick reply.... bad english too...
 
Joined
Oct 21, 2010
Messages
316
Reaction score
175
I will pack everything so everyone can runing mithia on win7, im not giving my project here since the scripts belong to the team. Ah some ppl maybe doesnt know that cygwin doesnt use apt get command. Cygwin is ready use packet here. We use cygwin for compiling, recompiling the source and runing the server since the cygwin already include the database too. Sorry its a quick reply.... bad english too...


Thank you, and your team for anything you do to help everyone in this thread.
 
Newbie Spellweaver
Joined
Aug 26, 2011
Messages
37
Reaction score
24
I already pack the cygwin with mithia db ready, and the comithia that set to the db runing for localhost. There is 1 GM char, 1 init map and some squirrel spawned. I will upload it to my mediafire soon, just need time to upload at dawn time...
 
Newbie Spellweaver
Joined
Aug 26, 2011
Messages
37
Reaction score
24
As i promise, all files has been uploaded. I use Win 7 64Bit and all is good...
 
Initiate Mage
Joined
Mar 26, 2006
Messages
1
Reaction score
0
-----------------------------------------------------------------------------------------------------------
1. Making cygwin shorcut on desktop

- right click cygwin.bat --> send to desktop
- right click cygwin shortcut -->properties, change Start in "d:/cygwin" :


d:\cygwin\bin\mintty.exe -i /Cygwin-Terminal.ico -
-----------------------------------------------------------------------------------------------------------
Kenapa langkah ini tidak bisa ya gan ?
 
Last edited:
Newbie Spellweaver
Joined
Aug 26, 2011
Messages
37
Reaction score
24
-----------------------------------------------------------------------------------------------------------
1. Making cygwin shorcut on desktop

- right click cygwin.bat --> send to desktop
- right click cygwin shortcut -->properties, change Start in "d:/cygwin" :


d:\cygwin\bin\mintty.exe -i /Cygwin-Terminal.ico -
-----------------------------------------------------------------------------------------------------------
Kenapa langkah ini tidak bisa ya gan ?

Place in Target not start in, sorry...
 
Back
Top