Update v.0.2
- при отсутствии файла "ConnectServerList.txt" он будет автоматически воссоздан при следующим перезапуске.
- если файл "ConnectServerList.txt" не найден то КС не будет запущен
- исправлена ошибка корректности отображения логов
- теперь поле "Макс. кол-во записей" обрабатывает данные корректно
- добавлена защита от запуска 2ух программ одновременно
- исправлена ошибка в которой при выключенном логировании создавался лог файл нулевого размера
- теперь логи записываются в файл динамически
- кнопка "Обновить файл логов" переработана в "Очистить экран"
- отключена возможность развертки программы на полный экран
- исправлена ошибка не правильно отображения цветовой палитры статусов сервера
- отключена возможность выбора протокола
- исправлено отображение количества активных серверов
- исправлено отображение выбранного фильтра
- более красивое отображение Up-time сервера
- исправлено отображение списка серверов и информации о них
- совмещены вкладки "Статистика" и "Фильтр подключений"
- добавлена кнопка удаления выбранного IP - адреса с Белого Списка
- улучшена проверка на валидность вводимого IP - адреса
- добавлена проверка на валидность IP - адреса при считывании файла WhiteList.dat
- для тестирования потребления ресурсов было уменьшено максимальное количество коннектов (с 5000 до 2000; как у SCF) и увеличено таймаут коннекта ( с 10с до 30с ; как у SCF).
Скачать:
Update 0.3
- Изменения в интерфейсе
- Исправлено некорректное отображение некоторых символов
- Значительно улучшена фильтрация IP - адресов
- Введена поддержка 0.97 протокола в тестовом режиме
- Полностью переделан обмен сообщениями между CS <-> GS & CS <-> JS
- Множество изменений которые повышают стабильность работы в целом
Скачать: http://depositfiles.com/files/sba0tzpm4
Зеркало: http://letitbit.net/download/87014.80a68e3f15393117e70367f37dce/ConnectServer.rar.html
Возможные проблемы:
- не проверено на Windows 2003 SP1 (может не работать)
- нет внутренной фильтрации пакетов
Почему мы не добавим "Black List"
Дело в том что это по сути хитрая уловка которая вообще не нужна. На ранних стадиях она была и у нас. Вроде блок по IP-адресу это хорошо, верно? Но не совсем. Дело в том что любая серверная часть работает на высоком уровне. Если расписывать алгоритм работы то он будет примерно таков:
1) Ждем подключения
2) Подключаем клиента
3) Проверяем IP-адрес на вхождение в черный список
4) отключаем
По сути нам надо подключить для того чтобы узнать IP-адрес. Вот это и переломный момент. Значит надо выделить память под коннект и подключить. Все эти манипуляции практически занимают столько времени сколько и полное подключение клиента. Если учесть большие нагрузки (с этим расчетом и создавался данный реализ), предположим что у нас 1 черный ИП, то с черным списком при подключении 5000 коннектов ЦПУ будет примерно 23% . Если без черного списка то 25%. Обратите внимание на то что IP-адрес 1 один(!). Когда их будет сотня то ЦПУ будет более 30% (а может и намного больше) при включенном черном списке.
Увы но данный пример фильтрации (который используется практически у всех серверах) только сделает хуже. Поймите, для защиты есть программы типа фаерволла и роутера, но обычный софт на такое не рассчитан.
Так же чисто из логики. Зачем банить IP? Наверно потому что читер, верно? Во первых в любом случае надо заблокировать сам аккаунт а не IP - адрес, во вторых фаерволл с такими вещами работает гораздо лучше, в третьих... вас просто обойдут через прокси (в.т.ч. тот же фаерволл) . Так что Блек Лист просто не целесообразен.