Important Message

You are browsing the archived Lancers Reactor forums. You cannot register or login.
The content may be outdated and links may not be functional.


To get the latest in Freelancer news, mods, modding and downloads, go to
The-Starport

Limit breaking 101

Here you find the different tutorials on editing and MODing Freelancer

Post Thu Jun 28, 2007 6:52 pm

Cold_Void: Hey! Good to see you still around.

alfa_astrix: I kind of lost interest in Freelancer after awhile and despite my best efforts I kept running into problems with the project. I might give it another stab though if there is a demand for it. The other big issue was that not everyone wanted "X" feature and "Y" feature, some people just wanted "Y" and making individual patches to do such functionality and making sure it doesn't interfere with the other patches or future patches is difficult also.

Sorry, i've been out of the loop for awhile. What exactly is wrong with FLMM 1.4 beta 4?

Post Thu Jun 28, 2007 6:58 pm

On a another note about Freelimits, I should also add I was being pressured to make the things I wanted to change secure to prevent cheating. Unfortunately next to nothing (virtually nothing) is checked on the client side for cheating purposes. We have anti-cheat tools now I know that may help by monitoring player behavior but I haven't checked into those. For example, firing while in cruise mode is easy to change (and I'm sure has been covered before but maybe not), etc and could be useful but could obviously be exploited too.

Post Fri Jun 29, 2007 4:20 am

Hi Alcander,

I would have a very specific challenge for you
Patching the max. allowed player limit.

The initial patch that will allow to set the number higher is not so hard to find out (somewhere in flserver.exe, you can get rid of the check that prompts you to set a value between 1-128 when clicking ok), but there is a huge problem. Once you are running at 200 slots, if the 129th player wants to login, he wont succeed. The problem is in Remoteclient.dll
There is a function that checks for a free id on the initial connect, but it only checks values below 128.
Now here comes the real problem, all the client id infos are stored in a fixed data range that is only 4bytes*128 big. If you raise the max.id check, it will eventually overwrite forbidden memory and so on.
Apart from that, in remoteclient.dll it seems that there are 128 functions that return the pointer to their client data (or something like that, didnt look into that)..

If you want to take a look:
OnConnect call that will define a player id for the new connection:
06B39350 remtoeclient.dll
reserved 128player client-data memory space:
06B73B38 until 06B73D38 remoteclient.dll
and when you look at the cross-references for the data offsets at
06B73D78 and below, you will see the 128 functions.

Post Fri Jun 29, 2007 6:44 pm

Very nice, one question tho, how do u decompile the EXE to write the values into it?

Post Fri Jun 29, 2007 7:22 pm

you don't need to decompile it, you're just replacing hex values with your own

Post Sat Jun 30, 2007 9:13 am

w0kd4: I can look into this but do you think you'll be able to get more than 128 players to play on a single server anyway? Just curious is all.

Alcander

Post Sat Jun 30, 2007 10:19 am

Yes, for server events.
On our last massive RPG deathmatch event we had full server on 128 slots, on the next event we may need more slots so everyone can play

PS: If you need a perl script that emulates server logins from players, just give me an email and I can send it to you. (128+ players no problem for the script)

Edited by - w0dk4 on 6/30/2007 11:23:20 AM

Post Sun Jul 01, 2007 9:19 am

Alcander

it should be nice if you could finish your previous project ..
-as the limit breaking of ships sale per base, as little bit as a commodities limit
- as the individual cruise speed per engine ... i have tried your old exe, but it work fine only on the server, not on client, the speed is always lock to 300

Post Tue Jul 03, 2007 6:40 am

I'll try to fix these things for you guys and release some individual patches.

I should be able to get the group limit > 8 actually working this time and can probably fix multi cruise so it works in both cases. I'll take a look.

Post Tue Jul 03, 2007 7:14 am

Group limit has already been patched in FLHook, no need to do the work twice:

#define ADDR_SRV_MAXGROUPSIZE 0x3A068 // 06D1A068
#define ADDR_SRV_MAXGROUPSIZE2 0x3A46E // 06D1A46E

(value at both positions (default 8) needs to be patched)

Post Tue Jul 03, 2007 12:17 pm

Great thanks for pointing this out then.

I knew where the locations were (the first time I released the patch I only patched one address not both and that is why it didnt work - I never did fix it).

I'll have to check over FLHook also, looks like good stuff.

Post Sat Jul 07, 2007 12:51 am

Alcander, if you don't mind me asking, what decoder / programs are you using to find what controls what?

Also, read this blog, it will explain a little of what is wrong with FLMM v1.4 beta 4.

Post Sat Jul 07, 2007 10:20 am

I use IDA / Interactive Disassembler. There is a nice free version I used for awhile floating around. Just search google for: freeida43.exe.

I am still a little confused about the problem with FLMM 1.4 as that post is kind of vague. It basically has a lot of bugs I guess where it doesn't properly active same mods is what is being said?

Post Sat Jul 07, 2007 10:21 am

Also, I think if this is the case it would probably be easiest to just use a non-buggy version of FLMM and just use or create a separate program to modify Restart.fl properly.

Post Sat Jul 07, 2007 12:29 pm

mhmm - it should be a simple but shiney little app to edit newcharacter.ini and restart.fl with the following options;
restart.fl:
location
faction
costume
ship
loadout
mission status for openSP

newcharacter.ini is different and used for MP, but essentially the same options -> just that they're done from the serverside indirectly from newcharacter.ini through mpnewcharacter.fl... the .ini provides a sort of database of pilots and the mpnewcharacter.fl acts as the template for any new character. if you'd be interested in coming up with a faction/character selector maybe we could work together, I've already built a selector script for MP that seems pretty popular (anyone know where they're using it let me know please, lol! - i do know its got plenty of d/ls) and what is wrong with it is basically that it relies on flmm, and thus you can't choose another character template while in game, also the pilot-previews have to be viewed externally since FLMM doesn't display pictures.
CVFC character selector

anyways that's an idea, if you're looking for something useful to make

Return to Freelancer Editing Tutorial Forum