Flyff Source VS2015: TRANS : is not alive

08/16/2016 16:55 Capt. Jack#1
Hello,
I upgraded my source from VS2003 to VS2012 and everything was working.
So I tried to upgrade the source to the latest VS2015 and here is my problem:

Everything seems normal until the worldserver exits with:
Quote:
TRANS : is not alive
The Worldserver also has a high tick:

I already analysed the Problem and found out that the Worldserver does not get the Ping-Respond from the DBServer:

Does anyone else experienced this issue and found out how to fix it?
I hope someone can help me :)
And please don't help me like: "You will never use vs2015 features.. just keep vs2012!"

Capt. Jack

EDIT:
Code:
_USE_32BIT_TIME_T
does not make a difference
08/16/2016 20:06 alfredico#2
Are you using _USE_32BIT_TIME_T on all projects?
08/16/2016 23:07 Capt. Jack#3
Quote:
Originally Posted by alfredico View Post
Are you using _USE_32BIT_TIME_T on all projects?
yes
08/17/2016 09:12 alfredico#4
Then check the data values send between the projects.
08/17/2016 14:54 Capt. Jack#5
Quote:
Originally Posted by alfredico View Post
Then check the data values send between the projects.
CDPDatabaseClient::SendPing does always send time_null() which is in my case 1471437424

CDPTrans::OnPing sends 2 values back: tSend is also time_null() with the same value (1471437424) and time(NULL) which is slightly different 1471437501

The data values seems to be ok. This is the complete Log (I added the top 3 line to check the call order/data values):
08/17/2016 18:39 alfredico#6
And CDPDatabaseClient::OnPing ??
Maybe problem is when receiving the packet. m_bAlive is set to false when pinging to databaseserver and returns true when receiving result. If no packet is sent, database is off.
[Only registered and activated users can see links. Click Here To Register...]
08/17/2016 21:39 Capt. Jack#7
Quote:
Originally Posted by alfredico View Post
And CDPDatabaseClient::OnPing ??
Maybe problem is when receiving the packet. m_bAlive is set to false when pinging to databaseserver and returns true when receiving result. If no packet is sent, database is off.
[Only registered and activated users can see links. Click Here To Register...]

CDPDatabaseClient::OnPing gets never called!

The DatabaseServer sends the Packet but the Worldserver does not receive it.
That is the reason for the log and the Worldserver shutdown at loading.
08/18/2016 08:50 alfredico#8
You have to find the reason why that happens, usually is because a bad packet sends more or less data and cause this problems (maybe the high tick). Check the function which handles those packets CDPDatabaseClient::UserMessageHandler | CDPTrans::UserMessageHandler and figure out the rest, I don't know if it could be because of all major changes made in vs2015, though for sure it can be fixed.
Personally I still use vs2012 since I didn't find necessary to upgrade yet.
02/17/2017 17:07 Unleashed!#9
Hey there, sorry for ressurrecting such an old topic but im having the exact same problem, did you find an answer yet? :)

Edit: Also found out the WorldServer doenst close properly. The window will close but the process is still running in the background..
02/18/2017 09:32 Kaev <3#10
Wurde afaik nie von jemandem released bzw. überhaupt nur von wenigen gefixed, die wissen was sie tun, aber ich bin heute mal so freundlich.
Füge zu jedem Projekt die Compilerflag "/Zc:threadSafeInit-" hinzu. :)
Wer mehr über den Fehler wissen will: Google "Magic statics visual studio 2015".

English:
Afaik this wasn't released by anyone or rather only fixed by a small amount of people who know what they're doing but i wanna be kind today.
Add the compilerflag "/Zc:threadSafeInit-" to every project. :)
If you want find out more about the error: Google "Magic statics visual studio 2015"
02/20/2017 00:09 Unleashed!#11
@[Only registered and activated users can see links. Click Here To Register...]

Kann das gerade leider nicht testen, da ich meine Source neu aufgebaut habe, werde aber berichten sobald ich kann. Wird dadurch der Fehler beim einloggen behoben oder wofür ist das Flag genau?

Mfg Unleashed!
02/20/2017 07:04 Kaev <3#12
Quote:
Originally Posted by Unleashed! View Post
@[Only registered and activated users can see links. Click Here To Register...]

Kann das gerade leider nicht testen, da ich meine Source neu aufgebaut habe, werde aber berichten sobald ich kann. Wird dadurch der Fehler beim einloggen behoben oder wofür ist das Flag genau?

Mfg Unleashed!
Durch eine Änderung hat das mit den statischen Variablen in den Singleton-Klassen nicht mehr ganz funktioniert. Ohne diese Flag kam es zu verschiedenen Fehlern, z.B. dem oben beschriebenen Fehler "Trans not alive".
02/20/2017 10:41 Blouflash#13
Quote:
Originally Posted by Unleashed! View Post
@[Only registered and activated users can see links. Click Here To Register...]

Kann das gerade leider nicht testen, da ich meine Source neu aufgebaut habe, werde aber berichten sobald ich kann. Wird dadurch der Fehler beim einloggen behoben oder wofür ist das Flag genau?

Mfg Unleashed!
Ich release heute Nachmittag komplett funktionsfähige cleane VS2015 und 2017 Source mit dazugehörigen Serverfiles.
Um euch mal was gutes zu tun. ;)
02/20/2017 11:31 Unleashed!#14
Danke dafür schonmal, da ich aber selber etwas dran gearbeitet hatte interessiert mich, was sonst noch gemacht werden muss. Ist darin noch etwas anderes enthalten als die Legacy Stdio Lib, die paar restlichen inline Definitionen und das Flag?
02/20/2017 17:51 .S0ulSeller#15
Quote:
Originally Posted by Unleashed! View Post
Danke dafür schonmal, da ich aber selber etwas dran gearbeitet hatte interessiert mich, was sonst noch gemacht werden muss. Ist darin noch etwas anderes enthalten als die Legacy Stdio Lib, die paar restlichen inline Definitionen und das Flag?
nichts außer o.g. um sie zum Laufen zu bekommen.