Server Help

ASSS Questions - another biller question

pokemon 2001 - Sat Nov 20, 2004 2:36 pm
Post subject: another biller question
well i just wanted to ask what does Flag do in PLOGIN ..?
Grelminar - Sat Nov 20, 2004 3:34 pm
Post subject:
it's right in the spec, two lines below the description of PLOGIN:

Quote:
flag is 0 for a normal login, 1 for "i want to create a new player".

pokemon 2001 - Sun Nov 21, 2004 1:11 am
Post subject:
yes i know... but i just dont understand that in the that description

cause.... umm ur telling me flag 0 is normal login as in the account is created ? and 1 is new player? thats strange o_O i dont think thats what it means umm whats the difference between normal login/ create a new player
CypherJF - Sun Nov 21, 2004 1:19 am
Post subject:
lol.. believe me it works out alright. icon_smile.gif
pokemon 2001 - Sun Nov 21, 2004 1:24 am
Post subject:
i know its just a flag its useless but i want to understand it maybe its for

name
email
age
work place thing on SSC biller servers

so i can add extra saving stuff
Grelminar - Sun Nov 21, 2004 3:52 am
Post subject:
The difference is that a "normal login" (i.e., flag == 0) will fail if the name doesn't exist, but a "create new player login" (i.e., flag == 1), will succeed (and have a side effect of creating a new player). You can't tell me that it's useless, or that I'm wrong about what it means, and you can't try to make it mean something else, because I wrote the spec, and it means exactly what I say it does, and nothing more.
pokemon 2001 - Mon Nov 22, 2004 2:21 am
Post subject:
Grelminar that flag is SENT to the the Biller


the Biller doesnt send the flag back


so how the hell should the game server (asss) would know if the player is new or not ok let me read ur post again i could be wrong with something
pokemon 2001 - Mon Nov 22, 2004 2:25 am
Post subject:
since i cant edit posts ill just say it here

in the biller protocol
g is game server
b is billing server

so...

game sends:
g->b: "PLOGIN:pid:flag:name:pw:ip:macid:contid"

the game server asks the biller to log this person in
for example

PLOGIN:1:No clue here:Pokemon 2001:mypassword:127.0.0.1:3423432:longs of hex stuff

how does the game server request if the player exist or not? I ran a packet logger and it didn't do nothing for the flag
Mine GO BOOM - Mon Nov 22, 2004 9:20 am
Post subject:
It works like this.


pokemon 2001 - Mon Nov 22, 2004 12:47 pm
Post subject:
where does it send the flag back?

to log in u gotta pass this

"WANTREG:pid"
"POK:pid:rtext:name:squad:billerid:usage:firstused"

no flags anywhere there
Smong - Mon Nov 22, 2004 12:54 pm
Post subject:
PBAD:pid:newname:rtext
pokemon 2001 - Mon Nov 22, 2004 12:59 pm
Post subject:
ohh so u gotta say that in the file
pokemon 2001 - Mon Nov 22, 2004 1:01 pm
Post subject:
hey soo flag for PLOGIN is useless like i said
flag will always be 0

because the PBAD is called only if the name doesnt exist or something is wrong
Smong - Mon Nov 22, 2004 1:01 pm
Post subject:

Edit: The protocol works fine. I have written 2 billers that use this protocol and it all makes sense. Why don't you go away and try this out for yourself instead of being like Qndre.
pokemon 2001 - Mon Nov 22, 2004 1:05 pm
Post subject:
I did make my own and it works good just listen....

Im thinking here why does the PLOGIN send a flag when its always going to be 0 its a useless part in the packet

PBAD is only called when names dont exist or password or something

but every character passes PLOGIN first!!
Smong - Mon Nov 22, 2004 1:09 pm
Post subject:
Here is what mgb said but with parts of the protocol added:

pokemon 2001 - Mon Nov 22, 2004 1:11 pm
Post subject:
ok tell me when flag is 1 or something on PLOGIN and not 0 on BILLING server

there is no way the client (Continuum) will know if a player is new or not
Smong - Mon Nov 22, 2004 1:18 pm
Post subject:
If you try to login with a new name the server forwards your login to the biller (PLOGIN 0). The biller then fails to find an existing account with that name and sends this fact to the client (PBAD 1). The client then requests a new name (PLOGIN 1).
pokemon 2001 - Mon Nov 22, 2004 1:40 pm
Post subject:
kk
2dragons - Sun Dec 26, 2004 10:40 pm
Post subject:
In my opinion it is a bit of a hack around having defined reasons for not allowing a login.

Basically when a user logs in there are 3 options:

Login Suceeded
Login Failed (No account exists)
Login Failed (For some reason)

and each option's response string

POK
PBAD:0
PBAD:1

The only thing that little field does is tell the server if the login is bad because the name doesn't exist or if the login is bad for some other reason.

If you just take note of the SS biller protocol you'll see it defined PBAD responses while the TCP protocol allows you to write any reason for not allowing a connection.
Mine GO BOOM - Mon Dec 27, 2004 9:44 am
Post subject:
Sometimes you'll need to inform the user as to why they were accepted. For the chat protocol, it maybe that the host doesn't want chat users to gain access, but will post an email or web address in which they can contact a person to apply for an expection.

As for having a username there, that is because the billing server is able to rename a user. This was originally done because logging in was not case sensitive, but in game, your username was always the same case as when you first created the username.

This has later been used to rename users to ^Banned when banned, and ^Name when running off a billing server proxy when the real one is down. That allows some hosts to force all chat clients to be different in someway than normal users in game, such as having a * at the end, if they wish.
All times are -5 GMT
View topic
Powered by phpBB 2.0 .0.11 © 2001 phpBB Group