Skip to content

[AuthD] ServerList packet

Featured Replies

Following NetPro data i interests the additional block what was added since Freya.

 

<?xml version="1.0" encoding="UTF-8"?>
<packet id="LS_SM_SERVER_LIST" xmlns="http://www.l2emu-unique.net" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.l2emu-unique.net ../../../schemata/packet.xsd">
	<byte alias="Game server count" id="gs_list" />
	<branch id="gs_list" condition="serverlist.ServerListPrelude">
		<byte alias="Last game server" type="GameServerName" />
	</branch>
	<loop id="gs_list">
		<byte alias="Game server" type="GameServerName">
			<scriptAlias id="__INVASIVE_AUTO_EXTRACT_GS_ID" />
		</byte>
		<branch id="gs_list" condition="serverlist.ServerListNamed">
			<bytes alias="Server name" type="auth.CustomServerName">
				<length>40</length>
			</bytes>
		</branch>
		<bytes alias="IPv4" type="IPv4">
			<length>4</length>
			<scriptAlias id="__INVASIVE_AUTO_REPLACE_GS_IP" />
		</bytes>
		<dword alias="Port">
			<scriptAlias id="__INVASIVE_AUTO_REPLACE_GS_PORT" />
		</dword>
		<branch id="gs_list" condition="serverlist.ServerListPrelude">
			<byte alias="Minimum player age" />
			<byte alias="PvP allowed" type="YesOrNo" />
			<word alias="Online players" />
			<word alias="Maximum players" />
			<byte alias="Online" type="YesOrNo" />
			<branch id="gs_list" condition="serverlist.ServerListC1">
				<dword alias="Type(s)" type="GameServerKind" />
				<branch id="gs_list" condition="serverlist.ServerListC2">
					<byte alias="Region" />
				</branch>
			</branch>
		</branch>
	</loop>
	<branch id="gs_list" condition="serverlist.ServerListFreya">
		<word alias="Non-padded bytes" id="bytesize" />
		<branch id="bytesize" condition="Positive">
			<branch id="bytesize" condition="serverlist.ServerList5Ex2">
				<bytes alias="Characters" type="ServerCharacterCount" />
			</branch>
			<branch id="bytesize" condition="serverlist.ServerList5Ex1">
				<byte alias="Game server count" id="gs_list" />
				<loop id="gs_list">
					<byte alias="Game server" type="GameServerName" />
					<byte alias="Total characters" />
					<byte alias="Pending deletion" id="timestamp_list" />
					<loop id="timestamp_list">
						<dword alias="Date of removal" type="SecondsSinceEpoch" />
					</loop>
				</loop>
			</branch>
		</branch>
	</branch>
	<!-- The rest is padding, except for 2nd last DWORD, which is the checksum -->
</packet>

 

Somebody to knows how the "ServerListFreya" block must to look in example? If i'm not mistake it's must add into every server list row the character count of this account for all servers in list. Or client isn't processing this data?

 

Thanks in advance.

Solved by Rootware

  • 4 months later...

I am pretty sure that the character count per server is what is contained in that second loop, though personally i have not bothered with a  new Auth yet. i am pretty sure the loop is something like count of servers with characters, then a for each server, how many characters exist.

Edited by pada

  • Author

@pada ofc, i wanted to example of this loop. Working code. I checked many examples from L2J forks and nothing happened in my client. Maybe it's client side problem, but need be sure what server sent correct info. Otherwise it will looks like searching the black cat in dark room even his is not exists.

  • 6 months later...
  • Author
  • Solution

The display of this information is affected by this parameter in L2.INI.

[URL]
UseAuthUserData=True

Thanks to me.

Create an account or sign in to comment

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.