From 143c2208ff3d342a22b401a2143d8acb0067da58 Mon Sep 17 00:00:00 2001 From: yellows111 Date: Thu, 10 Oct 2024 22:20:17 +0100 Subject: [PATCH] first command documented it's VER, but hey it's enough, add more Terms and fix a mistake --- docs/command-table.md | 2 +- docs/commands/ver.md | 43 +++++++++++++++++++++++++++++++++++++++++++ docs/index.md | 13 ++++++++++--- 3 files changed, 54 insertions(+), 4 deletions(-) create mode 100644 docs/commands/ver.md diff --git a/docs/command-table.md b/docs/command-table.md index c507d8a..923b602 100644 --- a/docs/command-table.md +++ b/docs/command-table.md @@ -4,7 +4,7 @@ This is a list of all known MSNP commands and their originating version. | `COMMAND` | Payload (Y/N) | Client to Server (Y/N) | Server to Client (Y/N) | Originating Version | Changed? (version list) | | ----- | - | - | -| ------ | ----- | -| `VER` | N | Y | N | [MSNP2](versions/msnp2.md) | every MSNP version, but retaining base syntax, removed in MSNP24 | +| [`VER`](commands/ver.md) | N | Y | N | [MSNP2](versions/msnp2.md) | every MSNP version, but retaining base syntax, removed in MSNP24 | | `INF` | N | Y | N | [MSNP2](versions/msnp2.md) | [MSNP3](versions/msnp3.md) (removed CTP), [MSNP8](versions/msnp8.md) (removed; automatic disconnect) | | `CVR` | N | Y | N | [MSNP2](versions/msnp2.md) | [MSNP8](versions/msnp8.md) (parameter 8) | | `CVQ` | N | Y | N | [CVR0](versions/cvr0.md) | [MSNP8](versions/msnp8.md) (parameter 8) | diff --git a/docs/commands/ver.md b/docs/commands/ver.md new file mode 100644 index 0000000..2847bca --- /dev/null +++ b/docs/commands/ver.md @@ -0,0 +1,43 @@ +`VER` is a command introduced with [MSNP2](../versions/msnp2.md). + +It specifies which protocols the client can accept, and which one the server likes the best. + +# Client/Request +``` +VER TrID dialect-name {dialect-name ...} +``` +Where (possibly multiple) dialect-name(s) being the versions of the protocol your client can use. + +# Server/Response +``` +VER TrID preferred-dialect-name +``` +Where `preferred-dialect-name` is the preferred version of the protocol the server will continue to use. The highest is usually preferred, unless it isn't supported by the server. + +If the server's `preferred-dialect-name` is `0`, that means it doesn't want to use any of the protocols you have specified. A forced disconnect is to be expected in this circumstance. + +This command can only be sent once. Any further uses of this command in the same session is Undefined Behavour. + +# Examples + +## Unsupported Protocols +``` +C: VER 1 DISREGARDANCE FOR A REAL PROTOCOL +S: VER 1 0 +``` +Server closes connection. + +## Supported Fallback Protocol +``` +C: VER 2 MSNP2 CVR0 +S: VER 2 CVR0 +``` + +## Supported Primary Protocol +``` +C: VER 3 MSNP8 CVR0 +S: VER 3 MSNP8 +``` + +# Known changes +* Removed in MSNP24. diff --git a/docs/index.md b/docs/index.md index b9094eb..6027dae 100644 --- a/docs/index.md +++ b/docs/index.md @@ -1,6 +1,8 @@ # Introduction Welcome to yellows' MSNP wiki - "we actually have documentation" +Why not visit the [Command Table](command-table.md)? + # Protocol Versions * [CVR0](versions/cvr0.md) @@ -23,14 +25,19 @@ More is to come soon! Hopefully! * MSNP6: Does it really acknoledge the account verified bit? I couldn't get the toast to show up in Client Version 3.6.003x. * MSNP8: Did FND exist? Rumors said it did shortly before it got killed in all protocols. -# Coomon Terms -* Official Client: MSN or Windows Live Messenger. +# Common Terms +* Official Client: MSN Messenger (Service) or Windows Live Messenger. * Client Version: relevant Official Client version. -* MSNP: Mobile Status Notification Protocol, or whatever acronym you like. +* MSNP: Mobile Status Notification Protocol, or whatever acronym you like. Runs over TCP via port 1863. * ABCH: Address Book Clearing House * Messenger Config: A file used by Client Version 6.0 and higher that specifies some data for the Official Client. * `svcs.microsoft.com`: Usually a grab-bag of random XML files or services used for clients older than Client Version 6.0. * Protocol Split: A MSNP version that usually defines a point of no return. +* PP14: Passport SSI Version 1.4. +* PP30: Passport over SOAP ala Client Version 7.5+. +* SOAP: Simple Object Access Protocol, A wrapper over XML. That's the kindest thing I can write about it. +* Passport: The Authentication Server and/or Protocol. +* Undefined Behavour: An intentional blank left in the documentation, basically as a "I am not responsible for what this does to your client or server" warning. # Where do I find or edit these page's source? The git repo is avaliable at .