mirror of
https://github.com/matrix-construct/construct
synced 2024-11-18 16:00:57 +01:00
47 lines
1.9 KiB
Text
47 lines
1.9 KiB
Text
Nick collision FNC
|
|
Jilles Tjoelker <jilles -at- stack.nl>
|
|
--------------------------------------
|
|
|
|
Nick collision FNC performs a forced nick change to the user's UID instead
|
|
of a kill. The criteria for which user may keep the nick are the same as
|
|
before. Server notices will say the clients are being "saved" instead of
|
|
"killed". The client will get a 043 numeric, like this:
|
|
|
|
:<server> 043 <nick> <uid> :Nick collision, forcing nick change to your unique ID
|
|
|
|
The following conditions must be fulfilled:
|
|
|
|
- All servers on the network must allow remote nicks starting with a digit.
|
|
This is not checked; if this is not fulfilled, users will be killed right
|
|
after being FNCed.
|
|
|
|
- All servers on the path between the two clients must support TS6 and
|
|
nick collision FNC (SAVE capab). If this is not fulfilled, the collision is
|
|
resolved with kills as before. (This uses the ENCAP GCAP data for remotes.)
|
|
|
|
- The general::collision_fnc option must be enabled on the server(s) that
|
|
detect the collision.
|
|
|
|
Technical details:
|
|
|
|
The following message is used to propagate the nick change coming from the
|
|
server that detected the collision:
|
|
|
|
:<sid> SAVE <uid> <ts>
|
|
|
|
The TS is compared to the current nick TS for the user; if it is not equal,
|
|
the message is dropped. This prevents nick desyncs if the user changed their
|
|
nick after being collided. A SAVE message also generates a server notice to
|
|
+k.
|
|
|
|
The SAVE message is used for propagation to the target's server, and also
|
|
in several other cases if the destination supports SAVE. In other cases, a
|
|
normal nick change or introduction with the UID as nick is sent.
|
|
|
|
The TS of the UID nick is 100. This is necessary to ensure nick TS is always
|
|
the same on all servers for each nick-user pair, also if a user with a UID
|
|
nick changes their nick but is collided again (the server detecting the
|
|
collision will not propagate the nick change further).
|
|
|
|
--
|
|
$Id: collision_fnc.txt 3422 2007-04-22 14:35:28Z jilles $
|