Jump to content

Sashimi

Member
  • Posts

    11
  • Joined

  • Last visited

Posts posted by Sashimi

  1. currently downloading the linux and windows servers, so i thought id write an explanation of what is going on for any aspiring hackers (and to get my mind in the zone)

     

    When people create applications they use a high or mid level language like c++. for example:

    int add(int a, int {
    return a+b;
    }
    

     

    Now, the processor doesn't know what to do with the above because the processor only works with a language called assembly. Assembly looks like this roughly for the above function (I haven't written asm for like 8 years so this may be a bit off):

    pop eax
    pop ebx
    add ebx, eax
    push ebx
    

    This code is represented in binary/hex in the actual computer. For example the above may be stored as "48 a4 bc 02 59". Plugins like left4downtown hook into functions to allow us to process data before it is sent into the function. In order to hook into these functions the plugin needs to know where they are, and this is where crap hits the fan.

     

    We can't use the actual location because that changes with every new version of the server and fixing it would be totally inefficient. So sourcemod uses function signatures, which are basically a unique set of bytes found only one place in the file. In the above example the signature would be "x48xa4xbcx02x59". When ever the plugin loads it scans the file for these bytes and hooks the function as needed

     

    With the recent server modification these signatures changed because valve implemented linux and now all of these signatures are invalid. For example "x48xa4xbcx02x59" may actually be "x11xa4xaax02x50". So my job is to find these new signatures.

     

    Normally this is near impossible without debugging techniques, but we have and advantage- linux. In linux files function addresses are stored in a vtable. This vtable says something like "add 0x4001001" which means function add is at address 4001001. Windows does not have a similaer vtable which is why we use function signatures. So using the linux address I can get a rough idea of where the function is in windows and search the windows file to find similar logic. i then need to get the unique bytes, save them in the left4downtown config file.

     

    This also explains why linux servers are already online

     

    Make sense?

    This post owns and you own. Thanks for fixing the server!
  2. For Crash's !rsp menu, I feel like another thing that could help is if there was some way to differentiate between mains and other survivors, maybe write the names of mains in different colour text.

  3. I'm not sure if this is the right place to post this, but here goes. I paid my dues for another year two days ago, yet I still don't have access to all the members commands and reserved slots. Help? I already contacted support about this, but that was more than 12 hours ago and nothing so far from them.

  4. I'd still love to see something like a custom campaign night, where members are informed in advance of the time and the maps to be played (only one or two per session). Only problem would be organizing it, and possibly agreeing on maps.

  5. I love the sound of this!

     

    Also, just thought that something like this might be a good time to give custom maps a try as long as everyone interested is given a heads-up. No need to worry about waiting for people to download campaigns or dealing with a lack of pubbies who don't have the campaign being played.

  6. If it was up to me, I'd make the AK cost 8 and have the other assault rifles cost 6 (M16) or 7 (SCAR, SG552).

     

    *edit* Actually, come to think of it, grenade launcher at only 10 is a bit of a bargain if you ask me, especially when the M60 is what, 15 points and can't be refilled?

  7. I've been playing here long enough that I figured it's about time I donated, so I just paid my dues. Looking forward to that reserved slot! Oh, and hats...

×
×
  • Create New...