We have six endpoints you can connect to:

irc.chat.twitch.tv:80 (IRC)
irc.chat.twitch.tv:443 (Secure IRC)
irc.chat.twitch.tv:6667 (IRC)
irc.chat.twitch.tv:6697 (Secure IRC)
irc-ws.chat.twitch.tv:80 (WebSockets)
irc-ws.chat.twitch.tv:443 (Secure WebSockets)

If you’re using WebSockets, be sure to use the irc-ws.chat.twitch.tv endpoints!

TMI always kinda never showed the “pure” IRC ports as options in the list.

Right – the responses returned by the API are specifically for WebSockets, because this is what our web-client consumes. The IRC options are separate, but are also completely supported.

Edit: For AWS channels you’ll actually see both options in the response:

web_socket_servers: ["irc-ws.chat.twitch.tv:80"]```

(from http://api.twitch.tv/api/channels/will/chat_properties)
1 Like

Ok, because 443 was most definitely not working for me, I had to switch to 80. I use 443 no problem for all the non aws users.

Outside of AWS, the ports have different configurations:

irc.twitch.tv:80 (WebSockets)
irc.twitch.tv:443 (IRC)

SSL is required for port 443 on the new servers, which is probably why you’re seeing an error. Are you connecting with SSL?

Ah, probably not then. I’ll check. Thanks.

I have noticed my bot joined the wrong server for the chat of keizaron. I found out today that his chat was moved to the AWS servers. He isn’t partner or have subscriber buttons.

Just bringing this up as this might have happened to other chats too.

Twitch has started the general transition

It’s all RNG now boiz

1 Like

Any estimate on how long it will be before everyone is moved? Wanna go back to using IRC clients for chat :smiley:

We’re doing some testing this weekend, and hopefully finishing up next week! Stay tuned, I’ll keep you guys updated.

1 Like

Silly question, as a developer of a bot (I won’t shamelessly promote the name here), is it possible to have a channel of a non-partner on our development team be placed into an AWS cluster for testing purposes? I understand that it should just be a quick flip and all goes well, but it would be great to be able to perform some unit testing ahead of time if possible.

Thanks!

Even when a channel is on the AWS cluster there still seem to be :tmi.twitch.tv SERVERCHANGE #channelname messages coming through: http://prntscr.com/adth4t
They seem to appear in batches of 3 for some reason. Is this normal behaviour and am I simply supposed to hide the message from the user or will the bot still have to disconnect & reconnect to the same AWS cluster every time it gets it even when it’s on the AWS cluster?

The AWS server behaves no different to regular server, only thing that is different is that the TMI endpoint returns only one Chat Server IP to connect to (per type), instead of a bucket load.

1 Like

My understanding (which may be incorrect) of SERVERCHANGE is that any time you join an incorrect cluster, it sends the alert to change servers. This means (If the previous statement is correct) that if you join AWS and get a SERVERCHANGE message, your channel got moved back to main.

Take with salt, etc etc etc.

In my case the bot I created was never meant to connect to multiple servers, so this slow change just breaks everything for me.
I don’t really get why changing everyone to the new servers at once would be more problematic than slowly moving them.
In the first case there are 2 servers to connect to and we have to look up which one for which channel, in the other there’s just one line to change: the DNS.

Because when you’re managing 20+ servers that are split into clusters (IE: Main, event, aws, group, whisper, etc) things have way different performance at small scale than large scale. It could be rock solid and stable at say 10k channels, but at 15k you could exceed the computers cpu processing limit, and it basically falls off a cliff and dumps all or most people connected. The scale up ensures that you minimize the risk of cliffs and random server outages.

Your ‘2 servers’ is actually a cluster of servers on twitches end that you access through two endpoints that get translated to a specific server.

What do you advise the best way to deal with this is?
Currently I’m planning to just run multiple instances of the bot, one for each endpoint.

I’m running two instances of the bot in my case, as its poorly programmed, and haven’t gotten to changing it yet. Connect to the old chat cluster, and one on the new aws cluster.

#2YearsOldCodeStillRunning
I guess that will do, it seems that everyone will be moved by the end of next week anyway.

Running a second instance on the other chat cluster will be the best option for most people as the situation is temporary and, if all goes well, event chat will go away with this too.