Como você está dizendo que requer rede e você está criando um novo diretório para que ele também precise de sistema de arquivos local. então você tem que usar
start on (local-filesystems and net-device-up IFACE!=lo)
ou
start on (local-filesystem and started networking)
em vez de
start on runlevel [2345]
e você pode tentar
if [ ! -e /var/run/poolparty ]; then
/bin/mkdir /var/run/poolparty
fi
em vez de
[ -d /var/run/poolparty ] || mkdir -p /var/run/poolparty
echo "starting Poolparty"
sugestão: veja o log de início de sessão em /var/log/upstart
que o ajudará onde estiver ausente. e também verificar erro de sintaxe do script init usando o comando:
init-checkconf -d /etc/init/poolparty.conf
e para uma melhor compreensão do script upstart, veja o livro de receitas do Ubuntu de início