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!

[Dev] Rune flyff

Status
Not open for further replies.
Junior Spellweaver
Joined
Jun 15, 2009
Messages
107
Reaction score
37
So here goes nothing.



Called Rune, and it attempts to emulate a v6 server.
Before you go on

It is incomplete, buggy and not ready for use.

Special thanks goes to Kiki for releasing his work. Also thanks to Hunter for the heads up on it.
To compile it you need the pthread and mysql libraries.

Main reason i released it now is that i won't have much time to work on this in the next month or so. So hopefully there will be ppl out there who pick it up or at least will be usefull to them.

To fire it up you need to fill in the mysql data in server.txt. As for the serverip, you need to set it in the Clusters table.

Also you need Kiki's v6 client. Hopefully its still avaliable somewhere.

So in short thats about it.

EDIT:

Thanks to Hunter and Organic we were able to fix some of the bugs, however its still crashes alot, so its not even close to be stable for now.
Special thanks goes to Funkynicco and Adidishen at osAFlyff for all the information on PK.
For enableing pk take a look at the clusters table. pk=1 means its a pk cluster.
About the inventory: its a bish. Seriously. So in case you
cannot sell to an npc
cannot equip something
cannot drop something
cannot use something
or you use one item and it uses the other, your inv is messed up.
The thing is, it has to work in a way where the server has to mimic exactly what the client does. And it fails sometimes.
These usually caused by useing an item (eating/equipping it whatever). What makes things worst, in most cases you wont notice the problem at the specific item causeing your inv to desync, but youll find it out at a later action.
Summing it up, in case your inv gets messed up, please try to figure out what item couldve caused it. (For example, you try to equip something and it doesnt equips, however your level and job and everything proves it should equip).

0.73:


Notes:
Rewrote a great deal of the grid, teleport bug should be gone now
Seems it doesnt looses its connection to mysql now.
PK was added
Added some small checks here and there
Trade is disabled

0.74:


Special thanks goes to Hunter, Organic, Morgawr and all the players who gave feedback on bugs:p

There was a crapload of bugfixes, its somewhat more stable now. Still have alot bugs tho.
Pvp was added, trade is reenabled and playershops are disabled.
 
Last edited:
Newbie Spellweaver
Joined
Sep 29, 2008
Messages
17
Reaction score
1
Re: Rune flyff

hmm i think this is a big Fake
 
[R8]ℓσℓ32
Loyal Member
Joined
Oct 6, 2008
Messages
1,396
Reaction score
198
Re: Rune flyff

Donwload. I go to test
It's not fake. There are c++ source in. But there is only login and world server. I scan and no viruses.
There is the scan.



And... there is no config files! so how we can edit drops, etc?

@Jiri: Before say it's a fake! TEST it!
 
Newbie Spellweaver
Joined
Sep 29, 2008
Messages
17
Reaction score
1
Re: Rune flyff

Hmm i only get errors and in the sql files are bloody Waepons.

INSERT INTO `itemlist` VALUES ('6', '239', 'Ruby Wand', '1', '1', '1', '3', '6', '4', '1', '-1', '-1', '22600', '2400000', '100', '180', '1', '-1', '10', '-1', '0', '-1', '-1', '33', '31', '1', '1', '-1', '-1', '-1', '80', '82', '0', '0', '0', '0', '0', '0', '-1', '6', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '0.025', '-1', '4', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '15', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '27', '27', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '0', '-1', '-1', '-1', '-1', '-1', '-1', '0', '0', '0', '0', '0', '0', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '27', '-1', '124', '127', 'itm_WeaWanCatsey.dds', '0', '', '', '1', '1');
INSERT
 
Junior Spellweaver
Joined
Jan 5, 2008
Messages
112
Reaction score
1
Re: Rune flyff

hmm i think this is a big Fake
It is not a big fake. This is a good start and maybe a small help for GK too. Again, duotone thanks hehe

Oh and about your sql error, take that line out and add it later manually.
 
Newbie Spellweaver
Joined
Sep 29, 2008
Messages
17
Reaction score
1
Re: Rune flyff

No it isnt a sql error bloody wepons are in the sql files and this is not a V6 DB.
 
Newbie Spellweaver
Joined
Sep 29, 2008
Messages
17
Reaction score
1
Re: Rune flyff

yeah and i test the Files and i think it is the source from Spheron [Iserver]
 
[R8]ℓσℓ32
Loyal Member
Joined
Oct 6, 2008
Messages
1,396
Reaction score
198
Re: Rune flyff

Yeah, and got this fails.
Not correct database.
No explain how to setup.
You can't change rates.
No GM command list.
No acess levels.

Put a bit more text pls!
 
Junior Spellweaver
Joined
Jun 15, 2009
Messages
107
Reaction score
37
Re: Rune flyff

Ok. I tested the sql file. It showes no errors for me. I could load it with both Navicat and the mysql command line tool.
As for the character server. Its built in the worldserver.
Well. I guess abit more explanation wouldn't hurt.:p

The server.txt has to be in the same directory as the exe file if you dont launch it from vc++. The txt is in the same directory as the cpp files. It is only for establishing the mysql connection.

To make a character gm you need to set the accesslevel to 1 after you created a character. The character must be logged out.
After that, you can spawn items by the >item [id] [number] [upgrade] [element type] [element upgrade]
You can set the exp by the >exp [multiplier] command.
Etc. Others can be checked in the player_process.cpp.

For account creation. Heres a sample.

You can also use Roxuw's one. Probably you need to change that abit because of the database.
So thats all for now.
 
Custom Title Activated
Loyal Member
Joined
Sep 9, 2008
Messages
1,949
Reaction score
390
Re: Rune flyff

I'll take a look at it.
 
Experienced Elementalist
Joined
Jan 13, 2007
Messages
232
Reaction score
39
Re: Rune flyff

It's pretty much obvious that access level is 80=gm/admin/whatever, but if you decide to change it you can go like 80=gm 100=whatever 120=admin, but still, 80+ access levels are the same JUST BECAUSE flyff recognizes 80+ as MODERATORS.
 
Custom Title Activated
Loyal Member
Joined
Sep 9, 2008
Messages
1,949
Reaction score
390
Re: Rune flyff

the code structure is all over the place. I can see why the Author didn't have much more time to work on it, because the code needs some work. Haven't fully tested it but from peering at the code, it looks as good as it can be.

Nice work.
 
Skilled Illusionist
Joined
Feb 3, 2007
Messages
321
Reaction score
67
Re: Rune flyff

Exactly @ GK's point, also took a look, would've try it but I don't have kiki's neuz, got the client except the no_gg stuff...
Source is pretty hard to read, since theres no spaces at all.
Other comments, this seems to be few nice things thus, perhaps GK will be able to use anything of it.

Is the packet's v6? If so, then I think these files would be very usefull xP

~ Nicco
 
Junior Spellweaver
Joined
Jun 15, 2009
Messages
107
Reaction score
37
Re: Rune flyff

Well then here it is. The client:

and here is Kiki's neuz:


A little from the server's structure:
the smain function (main.cpp) starts the server. it handles data initialization and incoming connections, it also starts the character server and the clusters.
for now each cluster(cluster.h, cluster.cpp) has 2 threads, one handles the network recieving and character loading(cluster::doselect), the other is basically the main thread of the server, handles everything (cluster::cmain). Once a packet is recieved, cluster::cmain calls the tplayer::process() function (player_process.cpp), wich handles the packet.
There are 5 kind of characters: character_obj (trees, houses, doors etc), character_item, character_mob, character_npc and tplayer.
Classes are derived like this:
character_base
|-character_obj
|-character_item
|-character_npc
\-character_buffable
....... |-character_mob
....... \-tplayer

each character_base has a pointer to its cluster and its gridcell.
The grid class (grid.h) contains tworld classes. tworld classes contains n*n gridcells. a gridcell represents a 64*64 sized area of the map. The viewrange is 3*3 gridcell, where the character is in the middle one.

most notably character base handles the movement, it updates the grid automatically.
characters are registered in various schedulers for their specific events, like monster attack. these schedulers are in the cluster object, and they are executed in cluster::cmain.
Outgoing packets are built up in the buffer class, by its template operator <<, and its sendpstr function (buffer.h).
Well this is the messy part of it. Basically everything adds packets, and has different ways of distributing them among the players who should recieve them.
Incomeing packets are recieved by a reciever class (reciever.h), each player has 2 of this, one is being recieved, one is waiting to be processed or in processing.
The other classes should be easier to use...

Hope that clears it up abit.
 
Junior Spellweaver
Joined
Jun 15, 2009
Messages
107
Reaction score
37
Re: Rune flyff

Your Simple Flyff Rhisis Webpage v.1
 
Status
Not open for further replies.
Back
Top