TS? Timestamp? What?

What happened last night?

Last night, a rogue server linked to the network and sent some invalid protocol messages to cause other servers to reset your channels timestamp. Your channels timestamp is set by the server it is created on, and is used when two servers relink to one another to determine which version of the channel is up to date, and who should maintain ops. A TS (timestamp) of 0 causes the servers to ignore the timestamping method of deciding who stays put, and simply mege together -- meaning anyone who can become a channel op on another side of a split will keep those ops on a rejoin, regardless of who had the channel first.

How can I fix this?

The only way to fix this problem, is to re-create your channel. There is no method at which a channels timestamp can simply be brought up to date or re-set. You must get all the users in the channel to leave, and then leave it yourself, so that you can rejoin and recreate it, effectively starting it over again, and re-creating the timestamp. In other words, get everyone, including yourself, to leave and come back.

The best way to do this, since not all users may be online at the present time, is to set your channel invite only, or set a key, and then kick each user. They can rejoin later on, when the channel is re-created, and the mode is un-set.

How can I check if I'm affected?

To check if your channel is affected, you can /msg TScheck !checkts <channel>, where <channel> is the name of your channel without the <>.

Channels which are affected by this will display a timestamp of somewhere in 1969 or 1970, the reference point at which a timestamp number gets its basis. To check if your channel is affected, use the command /mode #channel where #channel is the channel you would like to check. This should display the creation time of the channel, and/or the actual timestamp value. Timestamp values which are not 0, or take place after 1970 are prefectly fine, and do not need to be recycled.

Also worthy of mentioning is the the windows client mIRC will not display a timestamp of 0 when checking the channel. If you do not see a creation time when you execute /mode #channel, and are not using a script which interferes with this, your channel has no TS as well. You may want to check with other channel members using different clients and/or scripts to see if they get a different response.

Can opers fix this?

There is no method in the IRC protocol definition to explicitly set a timestamp, this was done to make it harder to break the system. However, there still exists backwards-compatilibity which can clear the timestamp, and this is how the server last night did it. Opers can not assist you.

I still don't understand..

If you're still having problems, join us in #ts0help, and ask us questions.