Instead of this str_repeat, use str_pad [1].
I assume this is highly AI generated based on the emoji and the typical structure of README.md? At the very least have it break apart WebServer.php, this is insanely too long, and what's it with all the static stuff?
And the Revolt driver [2] is missing a composer.json with the required dependency, and the code would benefit from a use statement instead of 5 fully qualified references.
[1] https://www.php.net/manual/en/function.str-pad.php
[2] https://github.com/Qbix/webserver/blob/main/src/Q/Evented/Re...