# 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]