Packet connection question

12/08/2018 17:35 Nortank#1
Hi

I am trying to program something that connect to an account and then to a server + channel. Datas I send is the NoS0575 packet, I connect successfully. But after this, I receive those datas :

Code:
NsTeST login sessionid 79.110.84.70:4031:3:3.2.S3-Nova 79.110.84.250:4010:1:1.1.S1-Oceanie 79.110.84.188:4013:0:5.4.S5-Celestis(Nouveau) 79.110.84.188:4012:0:5.3.S5-Celestis(Nouveau) 79.110.84.188:4010:0:5.1.S5-Celestis(Nouveau) 79.110.84.250:4011:8:1.2.S1-Oceanie 79.110.84.250:4012:1:1.3.S1-Oceanie 79.110.84.251:4012:0:4.3.S4-Nexus 79.110.84.251:4013:0:4.4.S4-Nexus 79.110.84.37:4010:1:2.1.S2-Solare 79.110.84.251:4011:0:4.2.S4-Nexus 79.110.84.37:4012:1:2.3.S2-Solare 79.110.84.250:4013:0:1.4.S1-Oceanie 79.110.84.70:4033:0:3.4.S3-Nova 79.110.84.70:4030:0:3.1.S3-Nova 79.110.84.251:4014:0:4.5.S4-Nexus 79.110.84.37:4014:1:2.5.S2-Solare 79.110.84.188:4014:0:5.5.S5-Celestis(Nouveau) 79.110.84.70:4034:0:3.5.S3-Nova 79.110.84.37:4011:7:2.2.S2-Solare 79.110.84.188:4011:1:5.2.S5-Celestis(Nouveau) 79.110.84.250:4014:2:1.5.S1-Oceanie 79.110.84.70:4032:0:3.3.S3-Nova 79.110.84.251:4010:0:4.1.S4-Nexus 79.110.84.37:4013:1:2.4.S2-Solare -1:-1:-1:10000.10000.1
So I went on the official client and injected a packetlogger, I found it :
Code:
[23:07:30]	[Send]	NoS0575 865638 login cryptedpassword GameforgeUserID 006D37310.9.3.3096 0 140BF49CA74A937EBE6B7B1ED23BB396
[23:08:09]	[Send]	30892
[23:08:10]	[Send]	login
[23:08:10]	[Send]	password
[23:08:11]	[Recv]	clist_start 0
[23:08:11]	[Recv]	clist 1 charactername 0 1 0 9 0 3 81 0 215.771.155.86.227.800.8191.8075.-1 80  2 1 0.319.0.318.0.317.0.333.0.9.-1.-1.-1.-1.-1.-1.-1.-1.-1.-1.-1.-1.-1.-1.-1.-1 0 0
30892 is the packet sent when I chose the second channel on the fourth server on the french community.
But if I try to change server and I relog on the S4/C2, 30892 could be something like 44521, or 30452.
So, what is the way to get this ID ?

Thank you in advance
12/08/2018 18:52 Bejine#2
its session id
you just take it from "NsTeST login <here> [...]"
12/08/2018 20:30 MarsBounty#3
every server server/channel has their own ip/port they are listed in the NsTeSt packet just connect to the one you want
12/09/2018 10:55 Nortank#4
Ok, I understand. So, in order :
send the login packet (NoS0575)
receive NsTest packet
saving the session id
connection to ip: port of the server|channel
sending session id then login then password
enjoy

is that ok ?

By the way, my NsTeSt packet is :
Code:
NsTeST login sessionID 79.110.84.70:4031:1:3.2.S3-Nova 79.110.84.250:4010:0:1.1.S1-Oceanie 79.110.84.188:4013:0:5.4.S5-Celestis(Nouveau) 79.110.84.188:4012:0:5.3.S5-Celestis(Nouveau) 79.110.84.188:4010:0:5.1.S5-Celestis(Nouveau) 79.110.84.250:4011:5:1.2.S1-Oceanie 79.110.84.250:4012:0:1.3.S1-Oceanie 79.110.84.251:4012:0:4.3.S4-Nexus 79.110.84.251:4013:0:4.4.S4-Nexus 79.110.84.37:4010:0:2.1.S2-Solare 79.110.84.251:4011:0:4.2.S4-Nexus 79.110.84.37:4012:0:2.3.S2-Solare 79.110.84.250:4013:0:1.4.S1-Oceanie 79.110.84.70:4033:0:3.4.S3-Nova 79.110.84.70:4030:0:3.1.S3-Nova 79.110.84.251:4014:0:4.5.S4-Nexus 79.110.84.37:4014:0:2.5.S2-Solare 79.110.84.188:4014:0:5.5.S5-Celestis(Nouveau) 79.110.84.70:4034:0:3.5.S3-Nova 79.110.84.37:4011:4:2.2.S2-Solare 79.110.84.188:4011:0:5.2.S5-Celestis(Nouveau) 79.110.84.250:4014:0:1.5.S1-Oceanie 79.110.84.70:4032:0:3.3.S3-Nova 79.110.84.251:4010:0:4.1.S4-Nexus 79.110.84.37:4013:0:2.4.S2-Solare -1:-1:-1:10000.10000.1
17293
79.110.84.250:4010:0:1.1.S1-Oceanie
79.110.84.250:4011:5:1.2.S1-Oceanie
79.110.84.250:4012:0:1.3.S1-Oceanie
79.110.84.250:4013:0:1.4.S1-Oceanie
79.110.84.250:4014:0:1.5.S1-Oceanie

I guess the last parameter before the name is the channel, but what are the 2 previous ?
Another question, can I close the connection between me and the logger server after I received the NsTeSt packet ?

Edit : ip: port:5:x:y:name => 5 is "recommanded", 0 is "normal", so this is the channel's status.

Thank you again
12/09/2018 11:28 Bejine#5
<IP>:<port>:<(<curentUsers>/<maxUsers>*20)>:<SrvID>.<ChID>.<name>

Yes, you can close the connection after receiving NsTeST
12/09/2018 14:19 Nortank#6
I got it.

I don't have any other question about it, but maybe you could help me with an issue ?

I want to know if there is a way to get GM's informations (to know if they're connected).
The in packet works only if the GM pops visible. If he is invisible, I won't receive this packet. Maybe there is another way to know if they're connected ? Like trying to get is character's infos ? (Weapon 8+10, reputation, Act4 points, etc) ? Maybe with a whispering system ?
12/15/2018 02:09 Nortank#7
Hi, I am looking for a way to manage automatically the server/channel choice : the goal is to have to click on "S2" and "C3" to connect there.
In the NsTeSt packet, something is received and I don't know what it is, I can obviously ignore it, but I would like to know what it is :

Code:
NsTeST username sessionid
79.110.84.70:4034:0:3.5.S3-Nova
79.110.84.70:4033:0:3.4.S3-Nova
79.110.84.70:4032:0:3.3.S3-Nova
79.110.84.70:4031:1:3.2.S3-Nova
79.110.84.188:4014:0:5.5.S5-Celestis(Nouveau)
79.110.84.188:4013:0:5.4.S5-Celestis(Nouveau)
79.110.84.188:4012:0:5.3.S5-Celestis(Nouveau)
79.110.84.188:4011:0:5.2.S5-Celestis(Nouveau)
79.110.84.188:4010:0:5.1.S5-Celestis(Nouveau)
79.110.84.251:4014:0:4.5.S4-Nexus
79.110.84.251:4012:0:4.3.S4-Nexus
79.110.84.251:4013:0:4.4.S4-Nexus
79.110.84.251:4011:0:4.2.S4-Nexus
79.110.84.251:4010:0:4.1.S4-Nexus
79.110.84.70:4030:0:3.1.S3-Nova
79.110.84.37:4014:0:2.5.S2-Solare
79.110.84.37:4012:0:2.3.S2-Solare
79.110.84.37:4013:0:2.4.S2-Solare
79.110.84.37:4011:3:2.2.S2-Solare
79.110.84.37:4010:0:2.1.S2-Solare
79.110.84.250:4012:1:1.3.S1-Oceanie
79.110.84.250:4014:0:1.5.S1-Oceanie
79.110.84.250:4011:5:1.2.S1-Oceanie
79.110.84.250:4013:0:1.4.S1-Oceanie
79.110.84.250:4010:0:1.1.S1-Oceanie
-1:-1:-1:10000.10000.1
What means the -1:-1:-1:10000.10000.1 at the end ?
12/15/2018 03:52 Cryless~#8
Quote:
Originally Posted by Nortank View Post
What means the -1:-1:-1:10000.10000.1 at the end ?
It is just a delimiter aka 1/1.000.000 entwell retardness :D
12/15/2018 05:19 0Lucifer0#9
Quote:
Originally Posted by Nortank View Post
Hi, I am looking for a way to manage automatically the server/channel choice : the goal is to have to click on "S2" and "C3" to connect there.
In the NsTeSt packet, something is received and I don't know what it is, I can obviously ignore it, but I would like to know what it is :

Code:
NsTeST username sessionid
79.110.84.70:4034:0:3.5.S3-Nova
79.110.84.70:4033:0:3.4.S3-Nova
79.110.84.70:4032:0:3.3.S3-Nova
79.110.84.70:4031:1:3.2.S3-Nova
79.110.84.188:4014:0:5.5.S5-Celestis(Nouveau)
79.110.84.188:4013:0:5.4.S5-Celestis(Nouveau)
79.110.84.188:4012:0:5.3.S5-Celestis(Nouveau)
79.110.84.188:4011:0:5.2.S5-Celestis(Nouveau)
79.110.84.188:4010:0:5.1.S5-Celestis(Nouveau)
79.110.84.251:4014:0:4.5.S4-Nexus
79.110.84.251:4012:0:4.3.S4-Nexus
79.110.84.251:4013:0:4.4.S4-Nexus
79.110.84.251:4011:0:4.2.S4-Nexus
79.110.84.251:4010:0:4.1.S4-Nexus
79.110.84.70:4030:0:3.1.S3-Nova
79.110.84.37:4014:0:2.5.S2-Solare
79.110.84.37:4012:0:2.3.S2-Solare
79.110.84.37:4013:0:2.4.S2-Solare
79.110.84.37:4011:3:2.2.S2-Solare
79.110.84.37:4010:0:2.1.S2-Solare
79.110.84.250:4012:1:1.3.S1-Oceanie
79.110.84.250:4014:0:1.5.S1-Oceanie
79.110.84.250:4011:5:1.2.S1-Oceanie
79.110.84.250:4013:0:1.4.S1-Oceanie
79.110.84.250:4010:0:1.1.S1-Oceanie
-1:-1:-1:10000.10000.1
What means the -1:-1:-1:10000.10000.1 at the end ?
It’s an empty server (all default values) it’s used by client to determine when to stop reading... yes entwell did some shitty things like this...
12/16/2018 14:16 Nortank#10
Well, I should stop reflect about what Entwell does...
Thank you
12/18/2018 13:45 Nortank#11
Still in the same subject :
failc 3 : maintenance server
what are the (0 ?) 1, 2, 4, 5 ?

I think 5 is bad password or username but i'm not sure
one is supposed to be the banID, another is supposed to be an "attempt to connect but someone is already on your account"...
12/18/2018 14:17 Bejine#12
failc 1 - wrong client version
failc 2 - some kind of error while connecting (unknown)
failc 3 - maintenance
failc 4 - account already logged in
failc 5 - wrong id/password
failc 6 - you can't connect (unknown)
failc 7 - banned
failc 8 - you can't connect from this country (used for korean nostale)
failc 9 - lower/uppercase mistake in ID.

it's all inside NScliData->conststring.dat and the string id is 4022+failcNumber, so failc 7 is 4029.
(from polish files)
Code:
4023Błąd: Twój klient gry jest przestarzały.#13#10Spróbuj po konserwacji ponownie lub pobierz aktualnego klienta gry z naszej strony internetowej.#13#10
4024Błąd: podczas łączenia wystąpił błąd. Spróbuj ponownie.#13#10
4025Błąd: w tej chwili trwa przerwa techniczna.#13#10Na oficjalnym forum możesz znaleźć szczegółowe informacje na jej temat.#13#10
4026Błąd: To konto jest obecnie zalogowane.#13#10
4027Błąd: Nieprawidłowa nazwa konta lub hasło.#13#10Zbyt wiele nieudanych prób powoduje tymczasową blokadę.#13#10
4028Błąd: ten klient nie może się połączyć.#13#10
4029Błąd: Twoje konto zostało zablokowane.#13#10Proszę skontaktuj się z zespołem gry NosTale.
4030Błąd: połączenie z tym serwerem z Twojego kraju jest niedozwolone.#13#10
4031Sprawdź wielkie i małe litery w nazwie Twojego konta.#13#10
12/18/2018 21:25 Nortank#13
Ok, thank you.

By the way, if the account is already logged in and you try to log with a wrong password, the misstake will be "Account already logged in". Really unsecured system...
+ I didn't know but there is an anti-flood security system (you can't spam login)
12/18/2018 22:51 FI0w#14
Quote:
Originally Posted by Bejine View Post
failc 1 - wrong client version
failc 2 - some kind of error while connecting (unknown)
failc 3 - maintenance
failc 4 - account already logged in
failc 5 - wrong id/password
failc 6 - you can't connect (unknown)
failc 7 - banned
failc 8 - you can't connect from this country (used for korean nostale)
failc 9 - lower/uppercase mistake in ID.

it's all inside NScliData->conststring.dat and the string id is 4022+failcNumber, so failc 7 is 4029.
(from polish files)
Code:
4023Błąd: Twój klient gry jest przestarzały.#13#10Spróbuj po konserwacji ponownie lub pobierz aktualnego klienta gry z naszej strony internetowej.#13#10
4024Błąd: podczas łączenia wystąpił błąd. Spróbuj ponownie.#13#10
4025Błąd: w tej chwili trwa przerwa techniczna.#13#10Na oficjalnym forum możesz znaleźć szczegółowe informacje na jej temat.#13#10
4026Błąd: To konto jest obecnie zalogowane.#13#10
4027Błąd: Nieprawidłowa nazwa konta lub hasło.#13#10Zbyt wiele nieudanych prób powoduje tymczasową blokadę.#13#10
4028Błąd: ten klient nie może się połączyć.#13#10
4029Błąd: Twoje konto zostało zablokowane.#13#10Proszę skontaktuj się z zespołem gry NosTale.
4030Błąd: połączenie z tym serwerem z Twojego kraju jest niedozwolone.#13#10
4031Sprawdź wielkie i małe litery w nazwie Twojego konta.#13#10
There is even too a failc 0 it should Show the last Message again i Dont if still active or removed
12/20/2018 12:09 Nortank#15
I don't know if it exists, but the first error id is 4023 is the NSCliData file (even on mine, up to date) and the last is 4031.

The last question is : "I want to know if there is a way to get GM's informations (to know if they're connected).
The in packet works only if the GM pops visible. If he is invisible, I won't receive this packet. Maybe there is another way to know if they're connected ? Like trying to get is character's infos ? (Weapon 8+10, reputation, Act4 points, etc) ? Maybe with a whispering system ?"
But I guess nobody knows ?
It could be helpfull to make a webtool which tells if yes or not, there's at least on GM connected and who.