Menu

Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Show posts Menu

Messages - James

#1
MOHAA Series: General / .Map is closing down
August 19, 2009, 05:11:02 PM
It's not going down. I won't let it. I spoke to rookie when it was originally said to go down. I said back then I can host it, and the offer stands. I have unlimited space & bandwidth and I would be more than happy to help out. After all I still support the openMOHAA project.

   

   .map long live. We just need to get ahold of Jeroen to see if he accepts my offer.
#2
I imagine you are running the latest version of MOHAA 1.11? Because I have heard of several issues similar to that of which you are speaking of in the older versions. I would do as mentioned above.
#3
MOHAA Series: General / MohAA V1.12 Patch
March 07, 2009, 03:08:02 AM
Which is odd because gamex86 is only loaded server side not client side. The fix that heiko originally wrote has nothing to do with client side at all. It just has more freedom and can check individual things in a client which scripts for whatever reason can't do. I'm not sure why or how it works exactly, but my guess is since I'm modifying the game content directly it is alot more universal & direct. Any changes that are done can be done to any & every client at any point in the game.

   

   I was just informed by heiko that I also have to do additional work to the MOHAA.exe which is where I will have a difficult time. I need to hook "SV_AddEntitiesVisibleFromPoint" which is in the executable and not the dll, so therefore I will have to hook that function & then write additional bytes to it using asm, and well asm isn't my strongest point argh..
#4
MOHAA Series: General / MohAA V1.12 Patch
March 06, 2009, 04:55:22 PM
I could use programming help :P

   

   here is the original script we were working with, however offcourse we didn't continue because it didn't work for each individual user. In gamex it works independently. Through script if 1 person sees another then everyone else is also rendered which is stupid ha.

   

   

   canSee local.player local.obj:
       //original 'can_see' found in mefy's mods
       //http://mefy.planetmedalofhonor.gamespy.com
   
       local.eye = (local.player gettagposition "eyes bone")
       local.eyedir = (angles_toforward local.player.viewangles)
       local.dir = local.obj.origin - (local.eye - (local.eyedir * 30))
       local.dp = vector_dot (vector_normalize local.dir) (vector_normalize local.eyedir)
   
       if (local.dp < 0.5) {
           end 0
       }
   
           //local.traceRes = (trace (local.eye local.obj.origin 1))
           //local.traceRes = sighttrace local.eye local.obj.origin 1
           local.traceRes1 = sighttrace local.eye ((local.obj gettagposition "Bip01 Pelvis") + ( -20 0 0 )) 1
           local.traceRes2 = sighttrace local.eye ((local.obj gettagposition "Bip01 Pelvis") + ( 20 0 0 )) 1
   
           local.traceRes3 = sighttrace local.eye ((local.obj gettagposition "Bip01 L UpperArm") + ( -10 0 0 )) 1
           local.traceRes4 = sighttrace local.eye ((local.obj gettagposition "Bip01 L UpperArm") + ( 10 0 0 )) 1
   
           local.traceRes5 = sighttrace local.eye ((local.obj gettagposition "Bip01 R UpperArm") + ( -10 0 0 )) 1
           local.traceRes6 = sighttrace local.eye ((local.obj gettagposition "Bip01 R UpperArm") + ( 10 0 0 )) 1
   
           local.traceRes7 = sighttrace local.eye ((local.obj gettagposition "Bip01 L Forearm") + ( -10 0 0 )) 1
           local.traceRes8 = sighttrace local.eye ((local.obj gettagposition "Bip01 L Forearm") + ( 10 0 0 )) 1
   
           local.traceRes9 = sighttrace local.eye ((local.obj gettagposition "Bip01 R Forearm") + ( -10 0 0 )) 1
           local.traceRes10 = sighttrace local.eye ((local.obj gettagposition "Bip01 R Forearm") + ( 10 0 0 )) 1
   
           local.traceRes11 = sighttrace local.eye ((local.obj gettagposition "Bip01 Head") + ( -20 0 0 )) 1
           local.traceRes12 = sighttrace local.eye ((local.obj gettagposition "Bip01 Head") + ( 20 0 0 )) 1
   
           local.traceRes13 = sighttrace local.eye ((local.obj gettagposition "Bip01 Head") + ( 0 -20 0 )) 1
           local.traceRes14 = sighttrace local.eye ((local.obj gettagposition "Bip01 Head") + ( 0 20 0 )) 1
   
           local.traceRes15 = sighttrace local.eye ((local.obj gettagposition "Bip01 L Foot") + ( -20 0 0 )) 1
           local.traceRes16 = sighttrace local.eye ((local.obj gettagposition "Bip01 L Foot") + ( 20 0 0 )) 1
   
           local.traceRes17 = sighttrace local.eye ((local.obj gettagposition "Bip01 R Foot") + ( -20 0 0 )) 1
           local.traceRes18 = sighttrace local.eye ((local.obj gettagposition "Bip01 R Foot") + ( 20 0 0 )) 1
   
   
       //if we see at least one part, we see the player
       //for performance reasons one would only continue tracing if no part has been seen yet
       //instead of tracing all parts all the time
           local.traceRes = local.traceRes1 + local.traceRes2 + local.traceRes3 + local.traceRes4 + local.traceRes5 + local.traceRes6 + local.traceRes7 + local.traceRes8 + local.traceRes9 + local.traceRes10 + local.traceRes11 + local.traceRes12 + local.traceRes13 + local.traceRes14 + local.traceRes15 + local.traceRes16 + local.traceRes17 + local.traceRes18
   
       //we want to return only 0/1
           if (local.traceRes != 0)
             local.traceRes = 1
   
       //we try to count for how long a player stares at another player he can't actually see
           if (self.ticks[local.player.entnum] == NIL)
           {
             self.ticks[local.player.entnum] = 0
           }
   
           if (local.dp > 0.998 && local.traceRes == 0) {
             self.ticks[local.player.entnum]++
             iprintln "player looks at unseen player for " self.ticks[local.player.entnum] " ticks"
           }
           else {
             self.ticks[local.player.entnum] = 0
           }
   
   end local.traceRes
   
   
   handlePlayers:
   
     local.frames = 0
     local.antiCheat = 0
   
     while (1) {
   
       //wait for rcon enabling of the protector
       if (local.frames == 0 || local.frames > 120) {
         local.frames = 0
   
         local.antiCheat = int(getcvar "g_anticheat")
         if (local.antiCheat != 1) {
           $player show
   
           iprintln "NOT protecting against see-through"
           wait 5
           continue
         }
   
         iprintln "protecting against see-through"
       }
   
       local.frames++
   
       //estimate all see-connections, i.e. player x sees player y
       //note for wrapper: only trace oponent team members
       for (local.i = 1; local.i <= $player.size; local.i++) {
         for (local.j = 1; local.j <= $player.size; local.j++) {
           if (local.i != local.j && $player[local.i] && $player[local.j] && $player[local.i].dmteam != "spectator") {
             local.sees[local.i][local.j] = waitthread canSee $player[local.i] $player[local.j]
   
           }
           else {
             local.sees[local.i][local.j] = 0
           }
         }
       }
   
       //now check if for any given player x no other player sees him
       //for performance get this into the above loops
       //note for wrapper: do it differently, i.e. if a client does not see a player, than don't transfer that entity
       for (local.j = 1; local.j <= $player.size; local.j++) {
         local.notSeen = 1
         for (local.i = 1; local.notSeen == 1 && local.i <= $player.size; local.i++) {
           if (local.i != local.j && local.sees[local.i][local.j] == 1) {
             local.notSeen = 0
           }
         }
   
         //if the player isn't seen by anybody, hide him
         if ($player.size > 1 && local.notSeen == 1) {
           //iprintln "hiding player in slot " local.j
           $player[local.j] hide
           //$player[local.j] ghost
           //$player[local.j] rendereffects "+dontdraw"
   
       //doesn't work :/
           //$player[local.j].weapon show
   //neverdraw
         }
         //if at least one player sees him, unhide him
         else {
           $player[local.j] show
           //$player[local.j] solid
           //$player[local.j] rendereffects "-dontdraw"
         }
       }
   
       waitframe
     }
   end
   
#5
MOHAA Series: General / MohAA V1.12 Patch
March 03, 2009, 08:46:56 PM
Sorry for the belated response.

   

   The project is currently on pause, but I am still active in it (the serverside gamex coding) I already managed to get some serverside stuff transfered over from heiko's Linux version, and I also updated the engine functions ALOT.

   

   Currently working on detecting aimbots. Running into a few minor issues, but overall I think I'm getting further than we used to be.

   Going to attempt to get the antichams working along with the STWH.
#6
yeah you can try wine or cedega transgaming: http://www.transgaming.com/">http://www.transgaming.com/
#7
what kind of video card does he have & are all the drivers working properly? Make sure he doesn't have any restricted drivers that are disabled.

   

   Also is he using the latest Linux mohaa patch? I believe the latest is 3.

   

   Also if you can be more descriptive about what doesn't work, what errors he is getting & what youhe have already tried so I don't have to repeat those steps.
#8
General Chat / Anti Cheat Database
November 19, 2008, 07:07:27 AM
Alright, this is completely off topic, so please bare with me.

   

   I'm working on my midterm for my Database class and I need to create a "fake" database.

   

   Requirements are as follows

   Atleast 4 Tables

   Each Table needs atleast 4 fields and atleast 12 rows.

   

   My idea is to create a fake anticheat Database System (think of it as DMW).

   Now I'm not exactly sure how DMW works, but maybe someone can help me out here.

   Basically I need to figure out what to add to my database so if I had a client AC that would require some kind of network communication similar to that of DMW how would I go about doing it?

   

   Here is an example of what I currently have:

   

   

   /*Create all of our tables*/
   
   CREATE TABLE User
   (
      userid int(10) unsigned NOT NULL auto_increment,
      username varchar(100) NOT NULL default '',
      password char(32) NOT NULL default '',
      email char(100) NOT NULL default '',
      ipaddress char(15) NOT NULL default '',
      sessionid int(10) unsigned NOT NULL default '0',
      warnings int(10) unsigned NOT NULL default '0',
   
      PRIMARY KEY  (userid),
      KEY username (username),
      KEY sessionid (sessionid)
   );
   
   /*Insert all of our values into the tables created above*/
   
   INSERT INTO User VALUES('1', 'username1', 'password1', 'user1@user1.com', '111.111.111.111', '0', '0');
   INSERT INTO User VALUES('2', 'username2', 'password2', 'user2@user2.com', '222.222.222.222', '0', '0');
   INSERT INTO User VALUES('3', 'username3', 'password3', 'user3@user3.com', '333.333.333.333', '0', '0');
   INSERT INTO User VALUES('4', 'username4', 'password4', 'user4@user4.com', '444.444.444.444', '0', '0');
   INSERT INTO User VALUES('5', 'username5', 'password5', 'user5@user5.com', '555.555.555.555', '0', '0');
   INSERT INTO User VALUES('6', 'username6', 'password6', 'user6@user6.com', '666.666.666.666', '0', '0');
   INSERT INTO User VALUES('7', 'username7', 'password7', 'user7@user7.com', '777.777.777.777', '0', '0');
   INSERT INTO User VALUES('8', 'username8', 'password8', 'user8@user8.com', '888.888.888.888', '0', '0');
   INSERT INTO User VALUES('9', 'username9', 'password9', 'user9@user9.com', '999.999.999.999', '0', '0');
   INSERT INTO User VALUES('10', 'username10', 'password10', 'user10@user10.com', '100.100.100.100', '0', '0');
   INSERT INTO User VALUES('11', 'username11', 'password11', 'user11@user11.com', '110.110.110.110', '0', '0');
   INSERT INTO User VALUES('12', 'username12', 'password12', 'user12@user12.com', '120.120.120.120', '0', '0');
   INSERT INTO User VALUES('13', 'username13', 'password13', 'user13@user13.com', '130.130.130.130', '0', '0');
   INSERT INTO User VALUES('14', 'username14', 'password14', 'user14@user14.com', '140.140.140.140', '0', '0');
   

   

   Any help would be MUCH appreciated.
#9
MOHAA Series: General / Rank ideas
November 13, 2008, 08:40:22 PM
yay sweet. good to hear! I really look forward to this.

   

   How many weapons do you plan on implementing? I think to make it feasible there should be a minimum of 20 different weapons if not more.
#10
MOHAA Series: General / Rank ideas
November 12, 2008, 10:25:30 PM
Have you ever played STALKER?

   I like the way they did their rankings, offcourse the only feasible way of getting it to work legitimately would be assuming the server is clean.

   

   Basically each player has their choice of "standard weapons"

   Each weapon has a category

   

   Pistol (3 to choose from)

   Heavy (includes anything rocketgrenade related)

   Armor

   Machine gun

   Sniper

   etc

   

   Every player regardless of rank can see the weapons available, but they can ONLY choose the weapon of interest if they achieve that rank. The rank HAS to be achieved serverside, because if it can somehow be achieved clientside the game play will be completely unfair especially with high ranking cheaters if you catch my drift.

   

   I wouldn't do too much "invisibility, god mode" related stuff because people tend to abuse that in some way. I would make it more realistic as I mentioned above. If you want to give the god modeinvulnerability, then they have the option of buying armor if they choose to do so.

   

   Another way of going about it would be instead of ranking, you can do it by money. Much like Counter Strike, but as we all know MOHAA game play supercedes CSS therefore it will be much more fun :)

   

   I have been actually wanting to create something like this, but it would definitly require alot of work.

   We're looking at

   ALOT of scripting

   weapon modeling to have a much larger variety of weapons

   textures for these new weapons

   I can help out with the tiks & shaders if need be because I have a good source of knowledge in those 2 categories, but modeling, texturing & scr's aren't really in my ally.

   

   I look forward to seeing how this turns out, because personally I think this would really be a bad ass mod and I would really look forward to playing it especially with the 1.12 fixes.
#11
MOHAA Series: General / MohAA V1.12 Patch
November 12, 2008, 05:47:23 AM
Elgan, I know I'm a bit late on this response, and I apologise, but I need to say.. How do you plan on doing the version checking. Because the way I previously did it, worked real well.

   

   It actually allowed clients with 1.12 the ability to still be able to play on 1.11 server, but not the other way around. I don't think it would be good to restrict it to just 1.11 because we don't know how popular and how many servers will use 1.12. Surely it would be foolish to ignore the update due to the amount of fixes that will be included, but you know how people are sometimes.
#12
MOHAA Series: General / MohAA V1.12 Patch
October 11, 2008, 07:22:11 PM
We have all been pretty busy. heiko & I are working out on the anti-aimbot project and that seems pretty time consuming. Right now it's still just a theory in work but we'll see if it works.

   /me crosses fingers
#13
MOHAA Series: General / MohAA V1.12 Patch
September 07, 2008, 05:28:55 AM
alright..

   Nice pdf with exploits glitches. From what I saw many of those glitches occur due to clipping or collision issues with the gamex engine. I do believe the clipping animations should resolve a majority of those issues. Also the black Windows were fixed by jv_map as far as I can recall.

   

   Next thing on the agenda

   

   More allies skins can always come in the future, although if I recall correctly there will be some new skins available.

   

   SV_Pure & allowdownload should be up and running as soon as we can find a time to all discuss some things regarding the 1.12 patch.

   

   The ability to ban users from nameip etc.. is actually already done. It's included in Elgans gamexfgame wrapper.

   

   Currently I'm working with heiko to still finish up the antichamwallhack, but we have been stumbling in a few places. Still gotten along decently though. Also were looking into fixing STWH.
#14
MOHAA Series: General / [Gametype] Virus
September 05, 2008, 03:14:06 AM
damn, sounds very interesting. Nice job Elgan!
#15
MOHAA Series: General / MohAA V1.12 Patch
August 19, 2008, 06:51:35 PM
One thing I noticed in SH that lacks in AA is the fact that the engine already has some vis limitation. By limitation I mean limitation against wallhackers. It still renders chams through walls, but you have to be MUCH closer to the enemy to see them through the wall. I tested this in stalingrad in SH and Stalingrad in MOHAA. I'm not sure if it's a modified map or the engine. This is where I tried to load the MOHSH version of Stalingrad into MOHAA, and it gave me loading errors. Even after attempting to modify the memory to try and get the map loaded it still wouldn't work right so I'm still not sure which it is. I'm guessing from what I have seen it has got more to do with the engine itself than the bsp, however the BSP file contains all the vis structure in that file, so perhaps it has to do a bit with both.

   

   I know this isn't an easy concept to conquer, because if it were, it would have been done already, but as mentioned if we can somehow gain minimal control of vis and spread it around the level, it should increase FPS quite a bit & cut down visibility for the wallhackers.

   

   jv, I already talked to you about this several times on TMT, it seems like there is no "rational" way to get around it so I'm running out of ideas here. Even my idea of rendering only what is in the players FOV isn't very promising according to rookie_one, so I don't know what to do. Seems the best way is clientside via some AC, or just put as much hope into the sv_pure function as we can, but the problem with anything done clientside is that it can be bypassed which is why I'm so determined to try and do something serverside with this.

   

   Maybe the mappers can share some ideas and suggestions.