Для изменения значений этих (как и любых других) переменных вам необходимо либо задавать их напрямую в консоли с помощью команды "seta переменная значение" либо прописать их в своем конфиге. com_maxfps - Максимальное число фреймов, пересылаемых от сервера клиенту. Соответственно ваш FPS не может быть больше этого числа. Изменение этой переменной не поможет улучшить качество связи, но зато прекратит проблемы со скачками FPS, которые связаны с появлением то лагов связи, то лагов самой машины. Наиболее оптимальным значением для com_maxfps будет среднее значение FPS на вашей машине. Выберите его, поиграв некоторое время с включенным счетчиком FPS "cg_drawfps 1". cg_lagometer - Теперь нужно потестировать ваше соединение в работе. Для этого нужно включить лагометр командой "cg_lagometer 1". У вас появится небольшой осциллограф. Первая линия на графике показывает то, насколько успевает ваша машина реагировать на те данные, которые присылает сервер об изменениях в игровой среде. Если линия синего цвета, то все в порядке, обновление изображения соответствует изменению игровой ситуации. Если цвет желтый, то это значит, что часть данных пересылаемых сервером ваша машина обработать не успевает. В этом случае вам нужно либо отказаться от передачи этих лишних данных с помощью команды "snaps", либо воспользоваться рекомендациям по настройке видеопараметров, чтобы повысить производительность. Вторая линия - это сетевой график, аналогичный тому, что был в Quake 2. Зеленый цвет показывает, что связь в порядке; желтый, что вам не хватает rate для передачи всех пакетов; а красный говорит о том, что из-за низкого качества связи теряются сетевые пакеты. Выводы: если много желтого, то попробуйте повысить rate или уменьшить snaps. Если у вас много красного, то рекомендую перейти на другой сервер или поискать другие варианты соединения. В крайнем случае, попробуйте поэкспериментировать с настройками. Поставьте "cl_packetdup 1" и попробуйте отрегулировать snaps и cl_maxpackets, чтобы компенсировать потерю пакетов. snaps - эта переменная отвечает за то, сколько "снимков" (пакетов) с информацией об игровой ситуации, пересылается с сервера клиенту. cg_predictitems - определяет кто - сервер или клиент решают, был ли поднят какой-нибудь предмет. Рекомендую поставить здесь "0", т.е. пускай сервер опредяляет взяли вы броню (оружие, здоровье и т.д.) или нет. Если поставить "1", то иногда бывают ситуации, что кажется будто вы взяли предмет, хотя на самом деле нет.
cg_nopredict - Эта переменная определяет разрешать ли машине игрока осуществлять "предугадывание" (предикция) - то есть пытаться определить, какие изменения произошли на самом деле на сервере в случае потери сетевых пакетов из-за проблем со связью. По умолчанию равна "1", т.е. предикция разрешена. Рекомендую так и оставить.
rate - Размер сетевых пакетов. Рекомендуется выставлять значение в зависимости от скорости вашего соединения. В конце раздела есть сводная таблица рекомендуемых значений для разных соединений. Не забывайте о том, что если вы у вас соединение с включенным сжатием данным, то размер rate можно увеличить. Почитайте описание использования лагометра и попробуйте поэкспериментировать со значением rate, чтобы добиться лучших результатов. cl_timenudge - если вы играли под QuakeWorld, HalfLife, то должны помнить такую команду как pushlatency. Так вот, "cl_timenudge" ее синоним. Объяснять смысл переменной не буду, скажу следующее: значение cl_timenudge должно быть на 30-50 пунктов ниже вашего среднего пинга. Можете поэкспериментировать со значением, проверяя результат с помощью лагометра. cl_packetdup - если включить эту переменную, то каждый сетевой пакет (минимальный блок данных), пересылаемый между сервером и клиентам, дублируется на случай потери из-за плохой связи. Если у вас качественная связь (см. лагометр), то выключите дублирование "cl_packetdup 0", если по показаниям лагометра у вас часто теряются пакеты, то включите "cl_packetdup 1". cl_maxpackets - эта переменная устанавливает максимальное число пакетов, которое ваша машина может переслать на сервер. Манипулирование ее значением может помочь тем, у кого низкая скорость исходящего трафика. По умолчанию число равно "30". Для связи по модему в некоторых случаях стоит это значение уменьшить, а играя через цифровое соединение - увеличить. Примеры оптимальных настроек для игры по сети LAN rate "25000" snaps "40" cl_maxpackets "100" cl_packetdup "0"
Давайте разберемся что здесь для чего: +set dedicated 1 - запускает quake3 в консольном режиме, то есть в виде выделенного сервера. +set fs_game osp - указывает на то, что мы запускаем мод в данном случае ОСП. +exec duel.cfg - вызывает конфиг для дуэльного сервера. +set sv_strictAuth 0 - вырубает проверку cd-key. +set sv_punkbuster 0 - вырубает Punkbuster. +set net_port 27961 - указавает к какому порту коннектиться к вашему серваку. Очень полезно, если вы хотите запустить 2 сервера одновременно (для этого назначите разные порты). Я советую просто все эти переменные прописать в вашем серверном конфиге. Однако я немного усовершенствовал процесс запуска сервера, создав CMD файл (аналог bat файла): start /high quake3.exe +set dedicated 1 +set fs_game osp +exec duel.cfg start /high - это приоритет, с которым запускается quake3.exe (работает только в Windows2000/XP), сделано для удобства (если не назначать приоритет, то при большом количестве игроков у создавшего сервер будут лаги). Что такое CMD файл (Для тех, кто не знает). Как создать .cmd файл? Очень просто, для этого вам надо создать текстовый документ и сменить его расширение с .txt на .cmd Поместите ваш .cmd файл в папку, где у вас quake3.exe и можете отправить ярлык для него на рабочий стол (для удобства). 3) Что сделать, чтобы сервер не требовал CD-KEY? Прошустрить все используемые конфиги и изменить/добавить указанные ниже переменные: set cl_punkbuster "0" set sv_punkbuster "0" set server_ospauth "0" set g_needpass "0" set sv_pure "0" set sv_strictAuth "0"
4) Подключение Ну, наконец-то вы запустили сервер! Теперь надо сообщить свой IP адрес игрокам и подключаться =) Немного теории: IP адреса бывают статическими и динамическими. Статический IP адрес не меняется никогда. Обычно у владельцев LAN, DSL, ISDN Динамический IP адрес изменяется при каждом логине. В основном у владельцев модемов. Как определить свой IP адрес (для Windows XP): У вас наверное имеется значок в виде двух мониторчиков на таскбаре? Откройте окно состояния и зайдите в Details (Дополнительно): Client IP adress (IP адрес клиента) и есть ваш IP адрес. Сообщите всем игрокам свой адрес по ICQ или еще как-нибудь. Подключайтесь к серверу введя в консоли такую строку: /connect yout_ip:your_port где: your_ip - ваш IP адрес your_port - ваш порт (помните переменную net_port, в моем случае это 27961). Заметьте, что если вы создаете инетовский сервер, и тоже подключаетесь по модему, то IP адрес всегда будет меняться, чего не происходит при подключении по локальной сети или DSL, где IP адрес статический! 5) Великая штука remote console! Очень удобная вещь! Особенно когда влом возиться с callvote. позволяет управлять вашим сервером удаленно, то есть, играя с клиента можно без проведения голосований менять переменные, кикать игроков и т.д. Использование: /rcon password command "param" Где: password - ваш пароль, указывается в серверном конфиге переменной rconPassword "yourpassword" command - команда, которую необходимо выполнить на сервере. param - параметры команды Примеры: /rcon pass kick player /rcon pass map pro-q3dm6 /rcon pass sv_pure "1"