AdminKeypad **updated**

Talk about any Deus Ex game modification here, e.g. maps, package or a total conversion.

Moderator: Forum Guards

AdminKeypad **updated**

Postby Lurker » Sun May 22, 11 11:46 am

Ok folks, here's a tiny mod I like to share with everyone...

It's a non-hackable keypad which can be used by DXMP mappers for locked doors which open areas or rooms which can be accessed only when players type in the right code which the server admin has set in a config ini file beforehand.

The AdminKeypad.uc source is included in the zip package aswell. Feel free to modify and/or use this mod in any map of yours.

I use the AdminKeypad in my own DXMP maps for secret areas and stuff. I hope someone finds this mod useful aswell. Post any feedback if you wish.

- Lurker

[Edit 2011-05-24]
I compiled an updated version of the AdminKeypad. If you downloaded the previous package then delete it and download this one instead.
Attachments
LurkerMod-2011-05-24.zip
Non-hackable multiplayer AdminKeypad, updated version.
(2.87 KiB) Downloaded 470 times
Last edited by Lurker on Tue May 24, 11 5:34 pm, edited 3 times in total.
User avatar
Lurker
Wannabe
 
Posts: 108
Joined: Fri Apr 08, 11 10:47 pm
Location: Germany

Postby Alex » Sun May 22, 11 1:20 pm

Did you test this already with other players? In a dedicated server? Everyone could use the keypad? Because if I can recall correctly, there were some client/serverside issues with the keypad.
Alex
Alpha
 
Posts: 8067
Joined: Wed Nov 12, 03 4:51 pm

Postby Gishank » Sun May 22, 11 7:14 pm

If I recall correctly several of these have been released in the past that have either not worked in multiplayer or have managed to be exploited. However if this is a fully working and non-breachable one then congrats =D
Image
Gishank
Forum Super Hero
 
Posts: 4235
Joined: Sun Aug 28, 05 9:17 am
Location: London, England.

Postby Lurker » Mon May 23, 11 4:05 pm

Thanks for the important hint, guys.

No, I haven't tested this mod with other players, only on my dedicated/non-dedicated server alone. I cannot exclude with certainty whether the AdminKeypad can or can't be exploited by cheaters on the client-side.

However, I can tell you that the AdminKeypad reads from my own variable AdminCode, which has no value until set by the admin in the LurkerMod.ini file on the server, and then copied to all network clients through the original ValidCode variable. In other words, the keypad digit code is not stored in the ValidCode variable directly, as it is the usual case, but in the AdminCode variable this time. And that variable is not being replicated between server and client.

Ofcourse I'm not an expert in Unreal Engine Networking, but all I know is that when settings are made in config files, such as DeusEx.ini and User.ini, those settings only have an effect on the server-side. Otherwise it would be possible for every client player to change the name of a server, for example. And as we all know, that is not possible.

But as I said, I can't give you any guarantees here. There might be some elite crackers out there who are able to penetrate every Unreal type server and completely override every config setting previously made for that server, even it's not sent to the clients. I don't know. I just assume that it's not possible, because I can't imagine how something like this could be done anyway. And I also assume that the developers from Epic, who created the Unreal Engine, were not stupid and have made sure that such violent exploits in the network code can't be made in the first place.

Maybe you should explain in what way exactly the other Keypad mods were exploited... because I really don't know how one can exploit sth like this... (?)

- Lurker
Last edited by Lurker on Mon May 23, 11 4:15 pm, edited 2 times in total.
User avatar
Lurker
Wannabe
 
Posts: 108
Joined: Fri Apr 08, 11 10:47 pm
Location: Germany

Postby Alex » Mon May 23, 11 4:15 pm

It's not that I'm not sure if it's protected or not, because complex hacks can hak your keypad. I'm just not sure if the keypad/window properly works for other players.
Alex
Alpha
 
Posts: 8067
Joined: Wed Nov 12, 03 4:51 pm

Postby ~DJ~ » Mon May 23, 11 4:19 pm

Um no.. I think the reason why every client can't change a servername is because..

"var() globalconfig string ServerName"

I've no clue what would that do though, nor I am any expert myself :oops:

But anyway, nevermind :oops:
User avatar
~DJ~
Forum Super Hero
 
Posts: 3766
Joined: Tue May 22, 07 12:23 pm

Postby Lurker » Mon May 23, 11 4:35 pm

Alex wrote:It's not that I'm not sure if it's protected or not, because complex hacks can hak your keypad. I'm just not sure if the keypad/window properly works for other players.


Well, the only way to be sure is to run a server with my mod, invite some players and tell them to test whether the AdminKeypad works for them or not, whether they can open the locked door with the AdminKeypad or not, so to speak.

I would have done this, but it's hard to get players to join unknown DX1 servers these days. Last month I started a Deus Ex server with a couple of DXMP maps of mine running for a few hours. And guess what... nobody joined my server. :?

So how can I properly test multiplayer mods if I'm alone on the server?

- L.
Last edited by Lurker on Mon May 23, 11 4:39 pm, edited 2 times in total.
User avatar
Lurker
Wannabe
 
Posts: 108
Joined: Fri Apr 08, 11 10:47 pm
Location: Germany

Postby ~DJ~ » Mon May 23, 11 4:39 pm

Well, as far as I know.. you could just host a dedicated server... then that's it... join the server, no need for other players, you can get on your own server when it's dedicated and replication works.... :oops:


OR..

Launch 2 DXs.

Join the same server, doesn't matter if it's LAN.

to launch two DXs at the same time, all you need is to create a shortcut and add this to your shortcut's 'Target':

Code: Select all
<location> -newwindow
Last edited by ~DJ~ on Mon May 23, 11 4:41 pm, edited 1 time in total.
User avatar
~DJ~
Forum Super Hero
 
Posts: 3766
Joined: Tue May 22, 07 12:23 pm

Postby Lurker » Mon May 23, 11 4:42 pm

~DJ~ wrote:"var() globalconfig string ServerName"


You can also set something like this:

var private config string AdminCode;


The "private" flag in a variable declaration makes it even more unlikely to change on the client-side.

- L.
Last edited by Lurker on Mon May 23, 11 4:43 pm, edited 1 time in total.
User avatar
Lurker
Wannabe
 
Posts: 108
Joined: Fri Apr 08, 11 10:47 pm
Location: Germany

Postby Alex » Mon May 23, 11 4:46 pm

A dedicated server should do fine, yeah. And if you want to be 100% sure, post servername + keypad code here, I'll try to give it a shot somewhere tonight (So do keep the server running for a few hours!)
Alex
Alpha
 
Posts: 8067
Joined: Wed Nov 12, 03 4:51 pm

Postby ~DJ~ » Mon May 23, 11 4:49 pm

Alex wrote:I'll try to give it a shot somewhere tonight


omgomgomgomg :oops: :oops:
User avatar
~DJ~
Forum Super Hero
 
Posts: 3766
Joined: Tue May 22, 07 12:23 pm

Postby Lurker » Mon May 23, 11 5:39 pm

Alex wrote:A dedicated server should do fine, yeah. And if you want to be 100% sure, post servername + keypad code here, I'll try to give it a shot somewhere tonight (So do keep the server running for a few hours!)


That's a good idea. I will first run a non-dedicated test server in 1-2 hours and keep it running in the background, so anyone can join and test if they can open the secret door locked with the default AdminKeypad code. I will post a message here once I started the server......

Here's the data:

Servername: Lurker's Test Server 2011
Keypad Code: 2011 (just the default code in my LurkerMod.ini)
Testmap: DXMP_SecretArea
User avatar
Lurker
Wannabe
 
Posts: 108
Joined: Fri Apr 08, 11 10:47 pm
Location: Germany

Postby Lurker » Mon May 23, 11 5:41 pm

P.S. Also create your own LurkerMod.ini config file in DeusEx/System and set a different code. See if your code on the client-side overrides my code on the server-side or not. If not then you can be 100% sure that this mod can't be cheated.
Last edited by Lurker on Mon May 23, 11 5:42 pm, edited 2 times in total.
User avatar
Lurker
Wannabe
 
Posts: 108
Joined: Fri Apr 08, 11 10:47 pm
Location: Germany

Postby Alex » Mon May 23, 11 6:37 pm

Alright. I'll wait for you to post.
Alex
Alpha
 
Posts: 8067
Joined: Wed Nov 12, 03 4:51 pm

Postby Poor » Tue May 24, 11 2:11 am

Even if someone uses a hack to pass the keypad client-side, it wouldn't do any good because the movers are controlled by the server. I think you would need to pass it server-side to get any real benefit from it.
Poor
Poster
 
Posts: 190
Joined: Tue Jan 04, 11 7:42 pm

Postby Lurker » Tue May 24, 11 2:17 am

Alright, dedicated server is running now. Let's see if anyone joins and gives it a try...

[Edit]
I've launched another DX and joined my own dedicated server as a client player. Tested the AdminKeypad and it worked well as expected. :P
Last edited by Lurker on Tue May 24, 11 10:59 am, edited 6 times in total.
User avatar
Lurker
Wannabe
 
Posts: 108
Joined: Fri Apr 08, 11 10:47 pm
Location: Germany

Postby Lurker » Tue May 24, 11 5:40 pm

Updated version of the AdminKeypad. See download in first post above.

Changes:

- AdminKeypad has now the bHackable flag set to false by default, so it can't be bypassed with multitools in singleplayer mode.
I just noticed that by accident, so I fixed it.
- Added the private attribute to the AdminCode variable.
- Other minor changes.

New version has been tested on my dedicated server and it works.
Last edited by Lurker on Tue May 24, 11 5:53 pm, edited 2 times in total.
User avatar
Lurker
Wannabe
 
Posts: 108
Joined: Fri Apr 08, 11 10:47 pm
Location: Germany

Postby Alex » Tue May 24, 11 7:34 pm

Either you took your server offline, or it's not visible in the list... Could you confirm either one?
Attachments
LKeypad.zip
(4.57 KiB) Downloaded 462 times
Alex
Alpha
 
Posts: 8067
Joined: Wed Nov 12, 03 4:51 pm

Postby Lurker » Tue May 24, 11 8:43 pm

Alex wrote:Either you took your server offline, or it's not visible in the list... Could you confirm either one?


Sure. I can paste the relevant parts of my server.log here.

My dedicated server is running right now all the time. In the DXMTL Multiplayer main menu it doesn't show up on the "Internet Game" serverlist though, but on the "LAN Game" list. Not sure why, because I started an internet game, not a LAN game. I guess it shows on LAN, because I am the one running the server. I hope it shows on Internet list for all outside clients.

Code: Select all
Log: Log file open, 05/24/11 19:51:03
Init: Name subsystem initialized
Init: Detected: Microsoft Windows NT 6.0 (Build: 6002)
Init: Version: 1100
Init: Compiled: Jan 29 2001 16:45:52
Init: Command line: DXMP_SecretArea?Game=DXMTL152b1.MTLDeathMatch?-server?log=server.log
...
Init: Unreal engine initialized
Log: Browse: DXMP_SecretArea?Name=Lurker?Class=DXMTL152b1.MTLNSF?Team=1?Skin=?Face=?Game=DXMTL152b1.MTLDeathMatch?-server?log=server.log
Log: Doing load, not loadgame
Log: Current mission number is -1, next is -1
Log: LoadMap: DXMP_SecretArea?Name=Lurker?Class=DXMTL152b1.MTLNSF?Team=1?Skin=?Face=?Game=DXMTL152b1.MTLDeathMatch?-server?log=server.log
Log: Loading: Package DXMP_SecretArea
Log: Loading: Package area51textures
Log: Loading: Package CoreTexDetail
Log: Loading: Package OceanLab
Log: Loading: Package CoreTexMetal
Log: Loading: Package CoreTexMisc
Log: Loading: Package Rocket
Log: Loading: Package CoreTexGlass
Log: Loading: Package V_Com_Center
Log: Loading: Package LurkerMod
Log: Loading: Package Area51_Music
Log: Loading: Package DXMTL152b1
Log: Game class is 'MTLDeathMatch'
Init: WinSock: version 1.1 (2.2), MaxSocks=32767, MaxUdp=65467
Init: WinSock: Socket queue 131072 / 131072
Init: WinSock: I am XX-PC (192.168.2.32)
DevNet: TcpNetDriver on port 7790
Log: Server Package: LurkerMod
Log: Spawning: IpDrv.UdpBeacon
Log: Spawning: IpServer.UdpServerQuery
Log: Spawning: IpServer.UdpServerUplink
Log: Spawning: IpServer.UdpServerUplink
Log: Spawning: IpServer.UdpServerUplink
Log: Spawning: IpServer.UdpServerUplink
Log: Bringing Level DXMP_SecretArea.MyLevel up for play (40)...
DXMTL: InitGame: ?Name=Lurker?Class=DXMTL152b1.MTLNSF?Team=1?Skin=?Face=?Game=DXMTL152b1.MTLDeathMatch?-server?log=server.log
DXMTL: Base Mutator: DXMP_SecretArea.CBPMutator0
DXMTL:
DXMTL: Starting anti-cheat mutator...
DXMTL: Allow CenterView: True
DXMTL: Continuous CenterView: False
DXMTL: CenterView Delay: 2.500000
DXMTL:
DXMTL: DeusExLevelInfo Repaired!
ScriptLog: UdpServerQuery: Port 7791 successfully bound.
Log: Resolving master0.gamespy.com...
Log: Resolving master.epicgames.com...
Log: Resolving master.fragaholic.com...
Log: Resolving master.dxmtl.eu...
Log: Loading: Package DeusExConText
Init: Game engine initialized
Log: Startup time: 1.085283 seconds
Log: Resolved master0.gamespy.com (69.10.30.248)
ScriptLog: UdpServerUplink: Master Server is master0.gamespy.com:27900
ScriptLog: UdpServerUplink: Port 7792 successfully bound.
Log: Resolved master.epicgames.com (80.156.86.78)
ScriptLog: UdpServerUplink: Master Server is master.epicgames.com:27900
ScriptLog: UdpServerUplink: Port 7792 successfully bound.
Log: Resolved master.fragaholic.com (69.81.144.250)
ScriptLog: UdpServerUplink: Master Server is master.fragaholic.com:27900
ScriptLog: UdpServerUplink: Port 7792 successfully bound.
Log: Resolved master.dxmtl.eu (62.157.140.133)
ScriptLog: UdpServerUplink: Master Server is master.dxmtl.eu:27900
ScriptLog: UdpServerUplink: Port 7792 successfully bound.
>
Last edited by Lurker on Tue May 24, 11 8:47 pm, edited 1 time in total.
User avatar
Lurker
Wannabe
 
Posts: 108
Joined: Fri Apr 08, 11 10:47 pm
Location: Germany

Postby Poor » Tue May 24, 11 10:25 pm

It would show up on your computer. You didn't forward the necessary ports.
Poor
Poster
 
Posts: 190
Joined: Tue Jan 04, 11 7:42 pm

Postby Lurker » Tue May 24, 11 10:42 pm

Poor wrote:It would show up on your computer. You didn't forward the necessary ports.


You are kidding me, right? I did everything as described in the multiplayer installation guide on dxalpha:

http://www.dxalpha.com/kb/multiplayer/i ... -config-mp

Wanna see my Deus Ex.ini settings? They're almost identical to the one on dxalpha:

http://www.dxalpha.com/kb/improvements/ ... i-settings

I have set up everything correctly and I have all the ports in my ini file, like 7790 and whatnot. I don't get this. Does it mean my server do not show up on the internet?

WTF? :?:
Last edited by Lurker on Tue May 24, 11 10:43 pm, edited 1 time in total.
User avatar
Lurker
Wannabe
 
Posts: 108
Joined: Fri Apr 08, 11 10:47 pm
Location: Germany

Postby Dae » Tue May 24, 11 10:49 pm

Port forwarding should be done on your router, not Deus Ex installation or computer.
User avatar
Dae
Alpha
 
Posts: 12086
Joined: Sat Sep 06, 03 4:40 pm

Postby Lurker » Tue May 24, 11 11:20 pm

Dae wrote:Port forwarding should be done on your router, not Deus Ex installation or computer.


Okay.. but I don't understand why I am able to host online servers for games such as Unreal Tournament 3 and other modern games all the time without the requirement of port forwarding anything on my router, as you suggested. I play multiplayer online games via Windows for about 12 years now and I never had to make any additional settings on my DSL router so far, not even in old Unreal Tournament 1999. I don't even know how to do this. My router doesn't seem to have any port configuration settings.

And as far as I remember back in 2000 when I first played Deus Ex I could host DX servers instantly without any problems. They would show up on internet and people would join them.

So why doesn't it work for Deus Ex now? Has it something to do with the DXMTL multiplayer mod? Or maybe because Epic's Unreal servers don't support Deus Ex multiplayer anymore? But then how comes other people can run DX servers? And if no, how do I set up those additional ports on my DSL router?

I'm really confused and I don't know what to do. Please help...
Last edited by Lurker on Tue May 24, 11 11:23 pm, edited 2 times in total.
User avatar
Lurker
Wannabe
 
Posts: 108
Joined: Fri Apr 08, 11 10:47 pm
Location: Germany

Postby Poor » Wed May 25, 11 2:42 am

Here are the ports you need to forward.

http://www.gameconfig.co.uk/ports.aspx?game=deus+ex

The site below will give you a step by step guide for forwarding ports based on your router model. They turned evil though and shove their products in your face but you can still access the free guide for your router by clicking the skip advertisement link and then look for the default guide link.

http://portforward.com/

Also, you will need to configure your antivirus, firewall, and if you have Windows you'll have to give the program the right to communicate. All this is a real bitch to set up. I'd be glad to help if you have AIM though.
Last edited by Poor on Wed May 25, 11 2:43 am, edited 2 times in total.
Poor
Poster
 
Posts: 190
Joined: Tue Jan 04, 11 7:42 pm

Postby Lurker » Wed May 25, 11 3:24 am

Poor wrote:Here are the ports you need to forward.

http://www.gameconfig.co.uk/ports.aspx?game=deus+ex


Thanks very much for that link!

Some minutes ago I finally found out where the portforward settings are located on my router and how to configure them, thanks to a YouTube video about portforwarding ( http://www.youtube.com/watch?v=xr8fIGr6FGY ) which I just found and watched (although it was about utorrent, but it gave me an idea what to look for).

I also googled and found this:
http://www.speedguide.net/port.php?port ... t=friendly

It lists all the known port assignments for Deus Ex, Unreal Tournament and other Unreal type games. But I was unsure which ones to set for TCP and UDP specifically, because if I set them in the wrong order then my router crashes. So the link you posted gives me a better idea how to set the numbers.

The site below will give you a step by step guide for forwarding ports based on your router model. They turned evil though and shove their products in your face but you can still access the free guide for your router by clicking the skip advertisement link and then look for the default guide link.

http://portforward.com/


Yeah, the portforward site is very useful since it includes a complete router list.

Also, you will need to configure your antivirus, firewall, and if you have Windows you'll have to give the program the right to communicate. All this is a real bitch to set up. I'd be glad to help if you have AIM though.


Not to mention administrator rights in Windows. I just hope I can set up the ports for TCP and UDP, then launch Deus Ex, start a dedicated and that's it.

Hang on... I'm going to try this now...
Last edited by Lurker on Wed May 25, 11 3:29 am, edited 4 times in total.
User avatar
Lurker
Wannabe
 
Posts: 108
Joined: Fri Apr 08, 11 10:47 pm
Location: Germany

Postby Lurker » Wed May 25, 11 3:50 am

TCP: 7790-7792,8777
UDP: 7790-7792,8777,27900

I just typed in the ports like that in my router and clicked on apply. But it gives me an error message: "Invalid port setup".

Hmm, let me try sth else, setting only UDP...

TCP:
UDP: 8777,27900

I hit apply and my router accepted the UDP settings.

So far so good. Now let's add the other ones:

TCP:
UDP: 7790-7792,8777,27900

Damn, my router crashed on those port settings again once I hit apply, so I can't access the router settings anymore. I have to go offline again by turning off my router while it's online. I don't like to do this, but I have to in order to reset it and be able to access the router config menus again. There seems to be a problem with ports 7790-7792. Maybe they cannot be set up as UDP (?).

Alright, wait... I'm going offline for a minute...
Last edited by Lurker on Wed May 25, 11 3:50 am, edited 1 time in total.
User avatar
Lurker
Wannabe
 
Posts: 108
Joined: Fri Apr 08, 11 10:47 pm
Location: Germany

Postby Lurker » Wed May 25, 11 4:10 am

Ok, back again. Now let's try this setting:

TCP: 7790-7792
UDP: 8777,27900

And again, it says "Invalid port setup". What? I can't forward ports 7790-7792 for TCP? And when I want to forward them for UDP then my router crashes? Weird. :?:

Alright, let's leave those ports out and try out a last configuration:

TCP: 8777
UDP: 8777,27900

And here we go again: "Invalid port setup". So TCP can't have those port numbers. :?

Oh well, it seems I won't manage to run a dedicated DX server on the internet in ages, if this is going to be hairy like this. :oops:

What I don't understand is why I have to portforward when attempting to run own Deus Ex servers on the internet, but does not need to do this when I run own UT3 servers and servers from other multiplayer games. What's wrong with Deus Ex multiplayer?
Last edited by Lurker on Wed May 25, 11 4:14 am, edited 1 time in total.
User avatar
Lurker
Wannabe
 
Posts: 108
Joined: Fri Apr 08, 11 10:47 pm
Location: Germany

Postby Poor » Wed May 25, 11 4:43 am

I don't know why you have to do all this to host a game. Maybe security wasn't as tight back then.

Did you try doing 7790, 7791, and 7792 individually?
Last edited by Poor on Wed May 25, 11 4:44 am, edited 1 time in total.
Poor
Poster
 
Posts: 190
Joined: Tue Jan 04, 11 7:42 pm

Postby Aidan » Wed May 25, 11 4:55 am

He's doing this as most users with routers that are stuck with NAT3 (limits what is allowed through your ports). Opening ports will allow him to host a game.

-and there's practically no security lol. Never was.

http://portforward.com/english/routers/ ... rindex.htm

Choose your router, and take it from there. It should work. If not, let us know.
Psychokiller, spelled incorrectly.
User avatar
Aidan
CandyMan
 
Posts: 6270
Joined: Wed Aug 02, 06 8:57 am
Location: True North Strong & Free

Postby Lurker » Wed May 25, 11 5:11 am

Poor wrote:I don't know why you have to do all this to host a game. Maybe security wasn't as tight back then.

Did you try doing 7790, 7791, and 7792 individually?


Yeah, I tried and it didn't work either.

However, I think I found the reason for "Illegal ports setup" message now. I can set up and name multiple NAT rules on my router. So I just tried the following configuration and it was accepted by the router:

NAT Portforward Rule #1
TCP: (leave it blank)
UDP: 8777, 27900

NAT Portforward Rule #2
TCP: 7790-7792, 8777
UDP: (leave it blank)

If I set up TCP and UDP ports seperately in their own rule instead of setting them together in one rule, then the router accepts and saves it. And when I run the PFPortChecker tool on my comp then I get confirmation that those ports are open now.

BUT... when I start a dedicated server it shows up only in my LAN serverlist. It seems portforward hasn't solved my problem. Everything as before. My server still doesn't appear on the internet list.
Last edited by Lurker on Wed May 25, 11 5:13 am, edited 1 time in total.
User avatar
Lurker
Wannabe
 
Posts: 108
Joined: Fri Apr 08, 11 10:47 pm
Location: Germany

Next

Return to Modifications

Who is online

Users browsing this forum: No registered users and 11 guests