2024-10-11 15:40:21 -04:00
# Introduction
2024-10-10 17:20:17 -04:00
`VER` is a command introduced with [MSNP2 ](../versions/msnp2.md ).
2024-10-10 17:44:08 -04:00
It is a Dispatch Server and Notification Server command, without either a request payload or response payload.
2024-10-10 17:20:17 -04:00
It specifies which protocols the client can accept, and which one the server likes the best.
2024-10-11 15:40:21 -04:00
This command can only be sent once. Any further uses of this command in the same session is Undefined Behavour.
2024-10-10 17:20:17 -04:00
# Client/Request
2024-10-11 15:40:21 -04:00
`VER TrID dialect-name {dialect-name ...}`
Where (possibly multiple) `dialect-name` parameters being the versions of the protocol your client can use.
2024-10-10 17:20:17 -04:00
# Server/Response
2024-10-11 15:40:21 -04:00
`VER TrID preferred-dialect-name`
2024-10-10 17:20:17 -04:00
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.
# Examples
## Unsupported Protocols
```
C: VER 1 DISREGARDANCE FOR A REAL PROTOCOL
S: VER 1 0
```
2024-10-10 17:44:08 -04:00
Server disconnects client.
2024-10-10 17:20:17 -04:00
## 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.