Chat protocol
Hier vind je een omschrijving van het chat protocol.
Hostnaan: chatserver.mastaline.net
Poort: 1337
Ieder commando begint met drie letters, deze geven het commando type aan.
Ieder commando eindigd met de volgende tekst:
@@@\r
Met \r wordt karakter 13 bedoeld (een return), in sommig talen wordt deze gebruikt met de functie char(13) of chr(13).
Als een commando opgesplits moet worden gebeurd dit op \t, bijvoorbeeld:
deel1\tdeel2
Met \t wordt karakter 9 bedoeld (een tab), in sommig talen wordt deze gebruikt met de functie char(9) of chr(9).
Als de verbinding met de chatserver tot stand is kan ervoor worden gekozen om een verificatie te sturen:
VER MLC016B@@@\r
Hier staat MLC016B voor de chat client versie, in dit geval 1.6x
Als reactie hierop ontvang je het welkomst bericht:
MSG Welkom op de MastaLine.com Chatbox!@@@\r
Inloggen zonder wachtwoord kan dmv het volgende commando:
USR gebruikersnaam@@@\r
Vervang hier 'gebruikersnaam' natuurlijk voor je gewenste chatnaam
Inloggen met wachtwoord gaat als volgt:
USR gebruikersnaam@@@\rPWD wachtwoord@@@\r
Vervang hier 'gebruikersnaam' en 'wachtwoord' voor de gewenste chatnaam en bijbehorend wachtwoord
Als het wachtwoord is geaccepteerd ontvang je het volgende:
PWD OK@@@\r
Indien het wachtwoord foutmelding en vervolgens wordt de verbinding verbroken:
ERR Een wachtwoord is vereist voor deze chatnaam, voer het juiste wachtwoord in of neem een andere chatnaam.@@@\r
Een gebruiker die online komt wordt gemeld met het volgende commando:
USR Roelvb@@@\r
Roelvb is hier de gebruiker die zojuist online komt
Na het inloggen wordt in één keer alle online chatter gemeld, dit ziet er als volgt uit:
USR Nieuwsbot\tOpperbot\tOnno\tRoelvb@@@\r
Hier zijn dus vier gebruikers online.
Er zijn vijf statussen:
Online (statusid -1): Kan ook door client ingesteld worden door statusid -1 naar de server te zenden
Admin (statusid 1): Wordt door de server toegewezen aan chatters
Afwezig (statusid 2): Kan ook door client ingesteld worden door statusid 2 naar de server te zenden
Negeren (statusid 3): Kan wel worden geaccepteerd door de chat client, maar deze heb ik nog nooit ontvangen van de server. (wordt dus alleen gebruiker voor de negeer optie in de client)
Bot (statusid 4): Wordt door de server toegewezen aan erkende chatbots
Als je een status van een andere gebruiker ontvangt ziet dit er als volgt uit:
STA Onno\t1@@@\r
Hier veranderd de status van Onno naar Admin
Je status wijzigen kan door het volgende de zender:
STA 2@@@\r
Hiermee zet je je status dus op Afwezig
Een chatter gaat offline:
LEA Roelvb@@@\r
Chatter Roelvb gaat dus offline
Bericht van de server (niet van een andere chatter):
MSG Roelvb komt de chat binnen.@@@\r
Bericht van een gebruiker:
MSG Roelvb\t10362624\tHallo@@@\r
Als eerst zien we de afzendernaam, daarna de kleurcode, gevolgd door het bericht 'hallo'
Het verzenden van een bericht lijkt erg op het ontvangen, het enige verschil is dat de afzendernaam weg wordt gelaten, dus:
MSG 10362624\tHallo@@@\r
Er kunnen ook notificaties worden weergegeven in de chat, deze zijn er in twee smaken.
Een standaard notificatie. Deze wordt weergegeven in het wit.
NOT Roelvb is ingelogd als admin.@@@\r
Daarnaast zijn er ook gekleurde notificaties (deze zijn later geïnstoduceert):
NOT 480207\tHet is vanaf nu mogelijk om je chatnaam op het kanaal te registreren. Typ: !register@@@\r
We zien hier dus de kleurcode gevolgd door het bericht
Ontvangen /me berichten zien er zo uit:
MEG Roelvb test@@@\r
Zoals je ziet wordt hier de afzendernaam niet van het bericht gescheiden door \t
Het verzenden van een /me bericht ziet er zo uit:
MEG test@@@\r
Wanneer je een PM ontvangt ziet deze er als volgt uit:
PMG Roelvb\tHallo@@@\r
Hier zien we de afzendernaam gevolgd door het bericht
Er zijn twee commando's voor het verzenden van een PM. Eén voor het verzenden vanuit een appart Privéchat venster en één voor verzenden vanuit het normale chat venster.
Verzenden vanuit het normale chat venster gaat normaal met het volgende in de chat te typen:
/pm roelvb hallo
Dit resulteert in het commando:
PMG roelvb\thallo@@@\r
We zien hier de ontvangernaam gevolgd door het bericht
Je krijgt vervolgens een terugkoppeling van de server dat het bericht is verzonden:
MSG * Privebericht naar Roelvb: hallo@@@\r
Het verzenden van een PM vanuit het privéchat venster gaat met het volgende commando:
PM2 roelvb\thallo@@@\r
Hier zien we de ontvangernaam gevolgd door het bericht. Hierop geeft de chatserver geen terugkoppeling.
Een ontvangen error ziet er als volgt uit:
ERR Dit is een error@@@\r
Je ontvangt af en toe een vraag van de server om te kijken of je nog online bent:
PNG ping@@@\r
Het is de bedoeling dat je deze netjes beantwoord met:
PNG pong@@@\r
De kleurcodes zijn decimale BGR waardes (het omgekeerde van RGB).
Visual Basic werkt zonder problemen met deze waardes, voor andere talen zullen deze waarschijnlijk omgezet worden.
Dec BGR naar Hex RGB:
We nemen als voorbeeld even de kleurcode '480207' (van de kleur notificatie hierboven), als we deze hexadecimaal maken krijgen we '0753CF' (dit is de hexadecimale BGR waarde).
Vervolgens maken we een RGB waarde van de BGR waarde door het eerste een laatste deel van plek te wisselen. We verwisselen dus '07' en 'CF', daardoor krijgen we 'CF5307'.
Nu hebben we dus een hexadecimale RGB kleurcode die we bijvoorbeeld in HTML kunnen gebruiken:
De kleur is oranje!
Copyright © 2010 - 2025 RoelVB & Mastaline. All rights reserved.