# Protocol Structure
Network protocols are just a sequence of bytes that ordered in a specific way to give them the meaning we want.
**lets talk about http protocol as an** **example**:
The HTTP protocol is a text-based protocol which means that this protocol sends all its data in a formatted text (It is just bytes in order way again, but this these bytes are characters).
we can take *Counter Strike server* from [[here](https://www.gametracker.com/search/cs/?sort=0&order=DESC)] as an example of, one of the available ports right now is => ip:port : 193.37.215.10:27015.
To decode this server, plz take a look to **Part 1** in the following code and notice the output results
https://colab.research.google.com/drive/1EcwXcf-O9dh63JKkzss_jN21Pm0pCnEz?usp=sharing
*take this site as a reference for **protocol structure*** https://developer.valvesoftware.com/wiki/Server_queries
Now:: to create your own protocol you just need to put your data in a specific way that should be known to the decoder& encoder
![](https://i.imgur.com/a6Hpqzs.png)
this simple protocol could be codded in 5 lines as written in **Part 2**:
[https://colab.research.google.com/drive/1EcwXcf-O9dh63JKkzss_jN21Pm0pCnEz?usp=sharing]