All the files have been commented for your ease. Furthermore you may also add further comments if you may.
2: In separate terminals, run the executables of all server files in this order s1 -> s2 -> s4 -> proxy.
3: Again in separate terminals, run the client executable. For multiple clients, run the same executable in different terminals.
As this was a group project, hence attached is the link of my group member who equally contributed in this project:
Sana: https://github.com/sanaa-khan
For further queries contact me at : chhxnshah@gmail.com