Ask Mootie - Question & Answer Thread

Re: Ask Lethal - Question & Answer Thread

You should keep the webserver on the same internal(private) network as the database server(using a separate NIC from public). This will both improve security and performance. Also, I don't recommend PDO MSSQL as it hasn't been updated in awhile. The ODBC extension for PHP is probably better.

I will be using ODBC because there is release of mssql pdo extension.

Also when u say use a seperate NIC do u mean that use 2 networks, one for server and another one for web server?
 
Re: Ask Lethal - Question & Answer Thread

I will be using ODBC because there is release of mssql pdo extension.

Also when u say use a seperate NIC do u mean that use 2 networks, one for server and another one for web server?

I mean one for public(for players to connect to), and one for private(for internal servers to connect to). This is an optimal setup and I recommend it for anyone looking to improve their security and network performance significantly.

is it possible to add a splash into a dll?

100%, it's pretty much the same as adding to an executable.
 
Re: Ask Lethal - Question & Answer Thread

What steps are needed to be taken in order to make server linux?

I'd like to make the files compatible to be hosted on Linux.

This is a bad idea unless your team has extensive experience with unix-based operating systems. There are pretty much no major advantages to running a game server on linux unless you have a custom linux distro and can manage it well(even Blizzard doesn't do this for their linux servers because it's ridiculous). Linux is a good operating system, but it's not optimal for corporations that host game servers due to the frequent exploits and necessary patches. This is not to say that great game servers cannot be hosted on linux, but it is more difficult to manage them after they're initially setup.

Here's an overview of the arguments for Windows data centers for MMORPG game servers, by NCSoft:



This is not to say that there aren't also strong arguments for Linux, but they're mainly (usually unnecessary) performance boosts that come at the price of difficult management.
 
Re: Ask Lethal - Question & Answer Thread

Thanks you xLethal and caja (mostly the link he posted).
Yesterday I started coding my own file format, and although I haven't tested it, I already know it will be a lot faster performance-wise. (Currently added support for file offsets to dramatically reduce read time of specific files. I plan to add incremental update support later.)

Correct me if I'm wrong, but this should reduce client load time, right?

Also, I've never used a profiler before, but I think I already know what slows down client load time. Is it caused by the D3D enumeration that gets run every time it starts up? If so, I've had a solution to that in mind for a while now, just haven't had time to implement it.
 
Re: Ask Lethal - Question & Answer Thread

I want to reduce the client load speed by making it load files as their needed, so on load it only loads the Client's login screen and info for the actual login section, as to what i think it is currently doing, by loading everything straight away.

I know monster flyff have successfully done something like this but i would like to know where abouts to look to edit the info for load. Also if possible is it able to reduce the amount of RAM memory needed for the client or will this be reduced at the same time?
 
Re: Ask Lethal - Question & Answer Thread

I want to reduce the client load speed by making it load files as their needed, so on load it only loads the Client's login screen and info for the actual login section, as to what i think it is currently doing, by loading everything straight away.

I know monster flyff have successfully done something like this but i would like to know where abouts to look to edit the info for load. Also if possible is it able to reduce the amount of RAM memory needed for the client or will this be reduced at the same time?

Actually, it takes less than a second to load all resource files. It could be reduced to maybe 300ms, but that isn't a huge improvement. I told you how to find the bottleneck. Profile the client and it should be obvious.
 
Re: Ask Lethal - Question & Answer Thread

I want to reduce the client load speed by making it load files as their needed, so on load it only loads the Client's login screen and info for the actual login section, as to what i think it is currently doing, by loading everything straight away.

I know monster flyff have successfully done something like this but i would like to know where abouts to look to edit the info for load. Also if possible is it able to reduce the amount of RAM memory needed for the client or will this be reduced at the same time?

Loading Resources on the fly will lead to more errors because you dont get your FileNotFound-Exceptions directly on Startup. (Chances high for you to upload a broken client.)
 
Re: Ask Lethal - Question & Answer Thread

Loading Resources on the fly will lead to more errors because you dont get your FileNotFound-Exceptions directly on Startup. (Chances high for you to upload a broken client.)

This is true, but I don't believe it's a huge issue in most cases... Also note that models, textures, world data, and other resources are loaded/unloaded in realtime(otherwise the client would use over 1gb ram on startup).
 
Re: Ask Lethal - Question & Answer Thread

I have seen you post on MonsterFlyff about position lag bugs that exist in the official files. Can you give any indication as to what causes these bugs?

Most position issues can be found/fixed in ActionMoverMsg.cpp and ActionMoverState.cpp. They can be quite obscure though, which is why it takes time to fix all of them.

An example of a position lag bug is holding the key to walk backwards(S) then pressing an FKey to use a skill and release the S key. This will make your character appear(to others) to continue walking backwards, while they're actually running forward to execute the skill.
 
Re: Ask Lethal - Question & Answer Thread

An example of a position lag bug is holding the key to walk backwards(S) then pressing an FKey to use a skill and release the S key. This will make your character appear(to others) to continue walking backwards, while they're actually running forward to execute the skill.

Thank you for that description. With that information, I can picture exactly how that would happen in the coding.

That's my only problem with fixing bugs. It's hard to fix something if you don't understand the cause/process to reproduce the bug.
 
Re: Ask Lethal - Question & Answer Thread

Lethal i am here to ask if you know how to change the level system from bytes to a int, as my server has a maximum level of 300, and so i guess you can see the problem, thanks Nick :)
 
Re: Ask Lethal - Question & Answer Thread

i was messing around with the source and i had added jewelry and masks to the awakening/blessing in randomoptions.cpp. it actually does awaken/bless the items, but the values of the awakes/blessing are not displayed on the item. so there is some place to add these items so that they get the "Awakening Available" text and the values to display after its been awakened/blessed. i have used the search function on VS looking at everything i could think of. i even check propitem.txt and some other files in the server. can you point me to the file/code that will do this?
 
Re: Ask Lethal - Question & Answer Thread

Lethal i am here to ask if you know how to change the level system from bytes to a int, as my server has a maximum level of 300, and so i guess you can see the problem, thanks Nick :)

Change the type to int or DWORD(unsigned will be easier and more secure) on all references.

i was messing around with the source and i had added jewelry and masks to the awakening/blessing in randomoptions.cpp. it actually does awaken/bless the items, but the values of the awakes/blessing are not displayed on the item. so there is some place to add these items so that they get the "Awakening Available" text and the values to display after its been awakened/blessed. i have used the search function on VS looking at everything i could think of. i even check propitem.txt and some other files in the server. can you point me to the file/code that will do this?

randomoption.cpp - CRandomOptionProperty::GetRandomOptionKind

Adding the item types should be enough to make the awakening values appear in the tooltip.
 
Re: Ask Lethal - Question & Answer Thread

Change the type to int or DWORD(unsigned will be easier and more secure) on all references.

Can you tell me what part of code to search for to change when dealing with the leveling system please?

Also where abouts do i add info to override the propskill where sky splitter is able to be used by both Swords and Axes?
 
Last edited:
Re: Ask Lethal - Question & Answer Thread

Any help please, am kinda stuck on the leveling thing it is actually causing problems for people who want to guild siege (as it says they are lower then level 30 until level 287
 
Re: Ask Lethal - Question & Answer Thread

Any help please, am kinda stuck on the leveling thing it is actually causing problems for people who want to guild siege (as it says they are lower then level 30 until level 287

This thread isn't for simple questions, just look at the source code and you'll figure it out if you have a basic knowledge of C++.
 
Back