Valhalla Legends Forums Archive | Battle.net Bot Development References | Diablo II Character Expiration Discussion

AuthorMessageTime
Maddox
Diablo II now shows the number of days until a character will expire. Does anyone have information on how this is done?
November 5, 2003, 1:19 AM
Myndfyr
Have you tried packetlogging it?

I can already anticipate what others will say. Now, I'm at work right now, and unable to investigate the issue. However, in the interest of good sense, you might consider looking into packetlogs from v1.09 and at new logs for v1.10. Notice what is different.

Just out of curiousity (since I haven't noticed this), where does it say how soon a character will expire?

If it's in the chat room (which I think would make no sense), then it is almost certainly with BNCS packet 0x0f.

It seems more likely to me that the feature you're talking about is when choosing which character to log onto the realm with (because logging on with chat would reset a character's time-to-expire). If that is the case, you might want to look into the realm Server-to-Client packet 17 (MCP_CHARLIST). This might have changed from what is currently in BnetDocs.

The version 1.09 format provided in BnetDocs is:

(WORD)       Unknown. Always 8.
(DWORD)       Count
(WORD)       // Number of Characters in the list, again?

For each character:
(STRING)       Name
(WORD)       Flags
(STRING)       Modified statstring

Like I said, I'm at work and am not able to investigate it myself. This might be a good place for you to start, though.

--Rob
November 5, 2003, 1:35 AM
Skywing
[quote author=Maddox link=board=17;threadid=3413;start=0#msg27425 date=1067995163]
Diablo II now shows the number of days until a character will expire. Does anyone have information on how this is done?
[/quote]
Yes. The number of seconds from midnight, January 1st, 1970 to the character expiration date/time is returned to you in the message if you use the new realm request.
November 5, 2003, 2:49 AM
Maddox
[quote author=Skywing link=board=17;threadid=3413;start=0#msg27441 date=1068000563]
[quote author=Maddox link=board=17;threadid=3413;start=0#msg27425 date=1067995163]
Diablo II now shows the number of days until a character will expire. Does anyone have information on how this is done?
[/quote]
Yes. The number of seconds from midnight, January 1st, 1970 to the character expiration date/time is returned to you in the message if you use the new realm request.
[/quote]

You're right, funny how I didn't notice that.
November 5, 2003, 7:55 AM
Skywing
[quote author=Maddox link=board=17;threadid=3413;start=0#msg27470 date=1068018909]
[quote author=Skywing link=board=17;threadid=3413;start=0#msg27441 date=1068000563]
[quote author=Maddox link=board=17;threadid=3413;start=0#msg27425 date=1067995163]
Diablo II now shows the number of days until a character will expire. Does anyone have information on how this is done?
[/quote]
Yes. The number of seconds from midnight, January 1st, 1970 to the character expiration date/time is returned to you in the message if you use the new realm request.
[/quote]

You're right, funny how I didn't notice that.
[/quote]
Also note that as is the standard for C timestamps, this is provided relative to UTC.

You may find this article useful for identifying these types of things.
November 5, 2003, 1:54 PM
Skywing
[quote author=UserLoser. link=board=17;threadid=3413;start=0#msg27523 date=1068050283]
[quote author=Skywing link=board=17;threadid=3413;start=0#msg27441 date=1068000563]
Yes. The number of seconds from midnight, January 1st, 1970 to the character expiration date/time is returned to you in the message if you use the new realm request.
[/quote]

New realm request being? 0x40?
[/quote]
No. The chat server hasn't provided character information to clients since the early Diablo II beta.
November 5, 2003, 4:51 PM
Maddox
[quote author=UserLoser. link=board=17;threadid=3413;start=0#msg27523 date=1068050283]
[quote author=Skywing link=board=17;threadid=3413;start=0#msg27441 date=1068000563]
Yes. The number of seconds from midnight, January 1st, 1970 to the character expiration date/time is returned to you in the message if you use the new realm request.
[/quote]

New realm request being? 0x40?
[/quote]

The new realm request is MCP 0x19. Since the names for realm packets are unknown, it would probably be best to name it MCP_CHARLIST2. The only change, I think, is the timestamp.
November 6, 2003, 2:31 AM

Search