Stupid client/server authentication question
by Edward Rotberg · in Torque 3D Professional · 03/01/2010 (12:54 pm) · 5 replies
OK, so this is going to be a really stupid question. However, I've searched this forum high and low and I can't really find anything that describes what steps need to be taken tin order to "turn on" user authentication for joining a server in a multiplayer game. I've looked through the gameConnection.cpp file and the auth.h file (which is particularly disturbing as it seems, from comments, to have had all of the guts removed). I've seen the GameConnection::readConnectRequest() fuction, but that doesn't appear to be getting called. I can't figure out:
A) How to make the server require a password - setting $Pref::Server::Password didn't seem to do the trick.
B) How to get the join dialog to request a password in the first place
C) If there is any per-user authentication support as opposed to per-server authentication
Any help/pointers would be greatly appreciated.
= Ed =
A) How to make the server require a password - setting $Pref::Server::Password didn't seem to do the trick.
B) How to get the join dialog to request a password in the first place
C) If there is any per-user authentication support as opposed to per-server authentication
Any help/pointers would be greatly appreciated.
= Ed =
About the author
#2
GameConnection::readConnectRequest is called during a client connect sequence and will verify the password sent from the client to the server in its connect request.
If you do a
and then start a game, you will see that it gets stuck before even going to the loading screen. It's not handled gracefully in the stock scripts, but it getting stuck is due to the local client having sent the wrong password to the server.
Then doing
and trying again will successfully load the mission.
B)
Put a GuiTextEditCtrl on the dialog and set its "variable" property to "$Client::password". The rest happens automagically.
C)
Don't think this is available in the stock engine.
03/02/2010 (12:33 am)
A)GameConnection::readConnectRequest is called during a client connect sequence and will verify the password sent from the client to the server in its connect request.
If you do a
$pref::Server::Password = "foobar";
and then start a game, you will see that it gets stuck before even going to the loading screen. It's not handled gracefully in the stock scripts, but it getting stuck is due to the local client having sent the wrong password to the server.
Then doing
$Client::Password = "foobar";
and trying again will successfully load the mission.
B)
Put a GuiTextEditCtrl on the dialog and set its "variable" property to "$Client::password". The rest happens automagically.
C)
Don't think this is available in the stock engine.
#3
as per m'y understanding, the data Will be compressed but that's all.
03/03/2010 (1:35 pm)
Quick question on the password: is there any encryption on this ? Or is it transmit on tcp as any information?as per m'y understanding, the data Will be compressed but that's all.
#4
03/03/2010 (1:55 pm)
Your understanding is right. There is no encryption. The strings will be Huffman coded but otherwise go over the wire as is using an unencrypted connection.
#5
03/04/2010 (4:47 am)
In other words, the password implementation is meant for FPS-style password-protected servers. It has nothing to do with user accounts, since the very concept of user account doesn't exist in any of the examples.
Torque 3D Owner Joshua Halls (Xerves)