Я кстати никогда не понимал, почему такая сложность сделать этом в сампе.
На обычном веб-сервере это фикситься довольно просто, и есть как минимум 3 способа (ну те о которых знаю я):
1. Это берем все популярные и известные VPN и так как у них у всех обычно ограниченный пул ip, и к тому же ipv4 зачастую используется, таким образом можно чекать количество пользователей на одном IP, скажем пусть это будет белый ip, если их большое количество то скорее всего это и есть впн сервер.
2. Ну как вариант проверять выходные порты, обычно серваки впн этим паляться, ибо порты обычно стандартные по типу 1194 TCP в модели TCP/IP.
3. Или же, анализ полноценного заголовка, в котором впн сервер оставляет информацию о себе, или еще лучше хранит в себе информацию об source & destination, тогда можно блочить исходящие пакеты от первоисточника, фильтр по источнику в заголовке, ну как вариант.