Ask Mootie - Question & Answer Thread
Here you may ask questions(that fall into the categories below), and I will answer to the best of my vast knowledge of Flyff Private Servers.
Question Categories(Development):
- C++/lua Flyff Development - Intermediate/advanced only, I won't answer questions regarding anything too small/specific, but I will answer questions regarding large custom changes
- Anti-Hack Development - Server-sided and Client-sided, don't ask how to block specific exploits
- Performance Improvements - I specialize in improving performance of the server and client while maintaining core server-sided security
Question Categories(Administration):
- Windows Server Administration - Firewalls, user permissions, remote management, disk partitioning, bottlenecks, etc
- DDoS Mitigation - Mitigation of any type/volume of flooding
- Network Security - Some examples: Internal/External Network Firewalls, SSL or any other network encryption, remote administration permissions, etc
- Webserver Administration - I have experience with: Litespeed(nix), Lighttpd(nix), Apache(nix), and IIS(windows)
- MSSQL DBA - Permissions, linux-mssql connections, advanced logging & backups
What not to ask about:
- How to make/setup a pserver, windows server, mssql database... pretty much any setup questions I won't answer.
- How to fix specific crashes
- Upgrading to vs2010(I've posted enough info about this already)
- Things you could figure out yourself by googling for 30minutes
I'll improve this post when I get the chance.
Re: Ask Lethal - Question & Answer Thread
This topic will be highly moderated by me personally.
Questions similar to "PLS HALP! Y SERVER NO WORK" will be removed.
Re: Ask Lethal - Question & Answer Thread
I've actually got one for you that I'd like opinions on the httpd section, the endless battle of litespeed versus apache.
In the moderate traffic that (Keep in mind possibly higher loads due to sub-par coding) which would you recommend and why if you were to run your own httpd on a server (Because honestly, who is serious about their project and uses shared?) I know in larger implementations Apache is supposed to win out, but I mean no private server is going to be large enough for the statics that you get when googling this shit. Does this make litespeed more efficient or am I lacking info about apache
Re: Ask Lethal - Question & Answer Thread
@ Anti-Hack Development
How can i make sure you can't replace a fake dll :)?
And how is it possible to block address scanning?
I googled and failed for this
Re: Ask Lethal - Question & Answer Thread
Quote:
Originally Posted by
MisterKid
@ Anti-Hack Development
How can i make sure you can't replace a fake dll :)?
I know the ANSWER to that, but the process I have no idea about though.
Calculate a CRC value of the .dll using an external program and set the result as a variable in Neuz. Then, after Neuz opens the .dll, calculate a new one and compare it against the one you made. That's the process, I don't know how to actually accomplish that though.
edit: slight security issue I realized after typing that, a client side variable could be modded. You'd have to make it a server side variable which gets requested when Neuz starts. Similar to how MSG_VER works.
Re: Ask Lethal - Question & Answer Thread
Quote:
Originally Posted by
Dawson
I've actually got one for you that I'd like opinions on the httpd section, the endless battle of litespeed versus apache.
In the moderate traffic that (Keep in mind possibly higher loads due to sub-par coding) which would you recommend and why if you were to run your own httpd on a server (Because honestly, who is serious about their project and uses shared?) I know in larger implementations Apache is supposed to win out, but I mean no private server is going to be large enough for the statics that you get when googling this shit. Does this make litespeed more efficient or am I lacking info about apache
Well, I've used both Apache and Litespeed in the past and can definitely say that without modifying Apache's configuration heavily, Litespeed is much more efficient in terms of resource usage as a HTTPD. However, I'm sure that Apache would be a lot better at resource management with source modifications for performance... I just wouldn't recommend Apache for any mid-sized sites that don't wish to make heavy modifications to its configuration and code.
The main issue with Litespeed is the security issues I've seen with it. There have been a few 0day exploits and they've all been extremely dangerous(source code exposure). This is surprising as Litespeed is closed source, which makes me worry more about the possible exploits that are still unknown. However, most sites wouldn't have to worry about these issues as long as they stay up-to-date. Litespeed's administration panel is VERY easy to use and makes configuring/log viewing a lot more user-friendly than editing Apache config files.
Quote:
Originally Posted by
MisterKid
@ Anti-Hack Development
How can i make sure you can't replace a fake dll :)?
And how is it possible to block address scanning?
I googled and failed for this
Well I don't recommend this, but you can provide most of the required DLLs in the client folder and checksum them. However, you probably should do a heuristic scan of the client itself for any strange windows API calls or critical function modification. Themida has a decent method with its xBundler plugin which can check for DLL modification on startup, but that wouldn't stop modification of kernel DLLs that vary based on operating system version. For these I recommend just checking for standard methods of detouring on apis such as WSASend/Recv(for Flyff).
Re: Ask Lethal - Question & Answer Thread
If you really need an user-level clientside antihack, compile it into the binary. (using a lib)
Re: Ask Lethal - Question & Answer Thread
Quote:
Originally Posted by
spikensbror
If you really need an user-level clientside antihack, compile it into the binary. (using a lib)
That's what I was thinking should be done, although with my limited programming experience I wasn't sure how effective it would be, mainly concerning whether or not it's easily bypassed.
Re: Ask Lethal - Question & Answer Thread
Quote:
Originally Posted by
spikensbror
If you really need an user-level clientside antihack, compile it into the binary. (using a lib)
This is what should usually be done, the reason XorGuard is a dll is because, as of v3, it implemented a global hook. Also, my comment was regarding fake 3rd party DLLs such as a fake directx DLL.
Re: Ask Lethal - Question & Answer Thread
Here's one thing I've been wondering: Is there a good reason for splitting the server into so many programs? My guess is performance, but I'm not entirely sure.
Also, could you possibly explain the general purpose/job of each of them? Including the lesser known ones (ie. Collection server, monitor, etc.)? I'm currently only using the basic 7, but I was wondering if adding the others would be useful or not.
Re: Ask Lethal - Question & Answer Thread
I have one question lol
Have you figured out a way to change masquerpet's stats dynamically? In the sense of changing them when they're already spawned to make a determinate individual monster stronger on the fly.
Re: Ask Lethal - Question & Answer Thread
Quote:
Originally Posted by
.dark.
I have one question lol
Have you figured out a way to change masquerpet's stats dynamically? In the sense of changing them when they're already spawned to make a determinate individual monster stronger on the fly.
The CMover class just contains the monster's prop ID and the properties are pulled from memory, so modifying them would modify all monsters of that property. The easiest way would be to just create an extra struct or variable(s) that can be modified to change the monster attack rate, HP, etc. This wouldn't be hard either, I'm sure you could figure it out from there.
If not, take a look at CMover::GetHitMinMax.
Quote:
Originally Posted by
ShadowDragon42
Here's one thing I've been wondering: Is there a good reason for splitting the server into so many programs? My guess is performance, but I'm not entirely sure.
Also, could you possibly explain the general purpose/job of each of them? Including the lesser known ones (ie. Collection server, monitor, etc.)? I'm currently only using the basic 7, but I was wondering if adding the others would be useful or not.
It's not entirely performance, but also organization and scalability.
AccountServer - Serves as a "controller" type server for the entire login process. It doesn't handle any user requests itself, but it does tell other servers such as certifier how to. Also used for some things such as Adbill.
Certifier - Certifies the username/password and allows or denies access to login.
Trans Server(DatabaseServer) - Handles most game-related database transactions. Also caches some things such as guilds and passes to core.
Core Server - This "Unifies" the individual WorldServers on each cluster. It also passes some data to the WorldServers on startup.
Login Server - Handles the channel selection, character selection, and 2nd password authorization
Cache Server - It should be named Proxy Server because that's what it is. The WorldServer holds all the cache while the cache server is what the users connect to.
World Server - I'm pretty sure you can figure this out.
The Collection server was meant to be an anti-piracy method, but it didn't work too well since the source was leaked lol. It's pretty useless now especially for a pserver. Monitor server is mainly for administration purposes and it's quite an annoying program tbh due to it's restarting methods. I recommend writing your own if you have time.
Re: Ask Lethal - Question & Answer Thread
Hi xLethal, I saw these thread that you made for Q&A (yesterday) and mm trying to figure out about China Flyff Stuffs because one of my cousin's friend (GaIa Member) told us that all the 7 servers running in China Flyff (Account/Database/Login/World/Cache/ETC..) are combined in 1 or 2 stuffs when the server is running.
In a clear way (I mean), China Flyff run 1 or 2 server only (idk, what are they) that can run the server without (7 servers stuffs). So my question is "is it possible to make all the 7 servers to 1 or 2 as well same as China Flyff?"
Hope you to answer this question, clear and understandable..
Thanks,
inteL
Re: Ask Lethal - Question & Answer Thread
Quote:
Originally Posted by
ll inteL ll
Hi xLethal, I saw these thread that you made for Q&A (yesterday) and mm trying to figure out about China Flyff Stuffs because one of my cousin's friend (GaIa Member) told us that all the 7 servers running in China Flyff (Account/Database/Login/World/Cache/ETC..) are combined in 1 or 2 stuffs when the server is running.
In a clear way (I mean), China Flyff run 1 or 2 server only (idk, what are they) that can run the server without (7 servers stuffs). So my question is "is it possible to make all the 7 servers to 1 or 2 as well same as China Flyff?"
Hope you to answer this question, clear and understandable..
Thanks,
inteL
It's possible, but it would be hard to expand it into a cluster system like eFlyff has.
Re: Ask Lethal - Question & Answer Thread
Why don't you just answer help threads?
I think doing a massive question and answer thread like this is a big unorganized mess and not very friendly to the forums search functionality that we are trying to encourage people to use.
Quote:
Originally Posted by
Error 404
This topic will be highly moderated by me personally.
Questions similar to "PLS HALP! Y SERVER NO WORK" will be removed.
And you aren't going to watch others? :?: