Привет. В этом гайде я подробно расскажу о создании FastDL на локальном GMoD сервере.
Если вы только начинающий оператор сетевых игр и не хотите тратится на сервер, а открыть его локально, то этот гайд позволит вам расширить функционал вашего сервера не потратив ни копейки.
Вам нужно: Локально установленный сервер GMoD’аи установленный ulx на нем (включая библиотеки). [ulyssesmod.net] Почта Немного времени Контент для игроков
Внимание. Папки и файлы должны быть исключительно написанные на латинице, то есть папка «materials\models\Призрак\» будет серьезной ошибкой.
1. Регистрация сайта с доступом public_html Если вы не знаете, что это такое или не определились с выбором, могу порекомендовать 000webhost https://www.000webhost.com/918949.html На нем в вашем распоряжении будет полтора гига и 100 гигов траффика. Да, это реф-ссылка. Вы получаете больше функционала, я получаю небольшой бонус. Все честно. Вы в любом случае получите результат бесплатно, почему бы не взять еще и реферальный бонус?
Создайте себе сайт и подождите, когда он будет готов. По завершению, вам нужно будет сменить пароль от ftp, т.к. он изначально немного багованый и записать хост, логин и новый пароль от ftp на листочке или где-нибудь еще (или просто не закрывать вкладку.
Установите FileZilla. Неволнуйтесь, никаких угроз вашему ПК. Вводите ваши данные сверху в программе, заходите в папку public_html и переходим к следующему шагу.
2. Подготовка контента. Это могут быть материалы, модели, карты, ресурсы, луа-скрипты, звуки и даже игровые режимы. Создайте где-нибудь на своем ПК папку, скажем ‘dl’ и скиньте туда весь клиентский контент, который должен быть у пользователя. Но не забывайте представлять себе, что эта папка ‘dl’ на самом деле будет папкой ‘garrysmod’ каждого игрока на вашем сервере, поэтому в ней нужно соблюдать порядок.
По завершении, делаем два действия с файлами из dl 1) Копируем их в папку вашего сервера 2) Затем вернитесь в dl и упакуйте карты и другие большие файлы (или просто все файлы) при помощи bzip2, который вы сможете найти в интернете или в других гайдах. После чего отправляем папку dl целиком через FileZilla на ваш сайт в папку public_html, чтобы получилось \public_html\dl\
Ваша ссылка при этом будет выглядеть так -> имясайта.netai.net/dl Если она выглядит также, как и в adenaka.netai.net/dl , то вы на верном пути и можете переходить к заключительному этапу, если нет, то внимательно прочтите 2 пункт и исправьте свои ошибки.
3. Создание lua-скрипта и настройка server.cfg. Открываем блокнот.
Копируем любительскую функцию поиска файлов в папках, т.к. тот что на gmod wiki не настроен для локальных серверов в целом.
functionAddDir(dir)
localfiles, dirs = file.Find(dir.."/*", "GAME")
for_, fdir in pairs(dirs) do if fdir != ".svn" then AddDir(dir.."/"..fdir) end end
fork,v in pairs(files) do resource.AddFile(dir.."/"..v) end
end
После чего вводим используемые папки в контенте. К примеру:
AddDir (“sound/mysound”) //Отправляет игрокам всю папку mysound из серверной sound AddDir (“maps”) //Папка maps не будет отправляться целиком, но будет скачиваться с fastdl, если на сервере стоит карта,которой нет у клиента. И так далее
Важные правила: Даже если папка называется MySound,верхний регистр в коде нужно исключать и писать строго mysound. Допускается только латиница (английский язык) Делитель между папками строго должен быть “/” (слеш снизу-вверх)
После чего сохраняем в серверной папке garrysmod\lua\autorun\serverпод удобным для вас именем с расширением .lua (скажем fastdl.lua)
Копируем содержимое локальной папки dl в сервернуюпапку. dl по желанию можно удалить, но я бы советовал иметь ее про запас, а вдруг вам захочется, что-то поменять.
Теперь лезем в ваш server.cfg и дополняем следующие строки
Сохраняем и запускаем сервер. Желательно, не иметь серверного контента у клиента, чтобы удостоверится, что все работает.
Надеюсь, этот гайд вам помог. Я благодарен вам за внимание и за то, что вы зарегистрированы по моей реферальной ссылке. По всем вопросам вы можете обращаться по контактам http://adenaka.netai.net/index/contacts.htm(The Spirit of Despair) или через группу ВК.