Я скопировал на свою CentOS VM, поменял $ip = '0.0.0.0'; Запустил

Код:
php socketServer.php
[2010-10-10] [SocketServer] NEW CLIENT Resource id #7 [IP: 127.0.0.1]
[2010-10-10] [SocketServer] Exception: String could not be parsed as XML
[2010-10-10] [SocketServer] Exception: String could not be parsed as XML
[2010-10-10] [SocketServer] Exception: String could not be parsed as XML
[2010-10-10] [SocketServer] Exception: String could not be parsed as XML
[2010-10-10] [SocketServer] Exception: String could not be parsed as XML
[2010-10-10] [SocketServer] Exception: String could not be parsed as XML
[2010-10-10] [SocketServer] REMOVING CLIENT Resource id #7
[2010-10-10] [SocketServer] NEW CLIENT Resource id #8 [IP: 127.0.0.1]
(это я еще сделал telnet 127.0.0.1 10014 и впечатал туда <xml>blah</xml>)
netstat -an его тоже видел:

Код:
netstat -an| grep 100
tcp 0 0 0.0.0.0:10014 0.0.0.0:* LISTEN
И работает твой скрипт так: он привязывается к порту 10014 и когда присоединяется новый клиент, начинает читать по 4096 байтов. Если нашел в них XML, то он умирает, т.к. у него нету класса Game. Если XML не нашлось, то он печатает [SocketServer] Exception и крутится дальше (причем он не сохраняет прочитанные до этого байты - и наверное зря).