Клиент игры (онлайн установщик) |
Здравствуйте, гость Вход | Регистрация
Наши новости:
|
| ! | В разделе запрещено создавать темы связанные с раскруткой игровых серверов |
|
|
Клиент игры (онлайн установщик) |
usercn
|
28.9.2023, 7:43
Сообщение
|
![]() |
Цитата готовый онлайн установщик, который скачает переносную версию программы без необходимости засорять систему всяким мусором Онлайн-установщики - это и есть мусор. Пользователь будет уверен, что установщик только СКАЧАЕТ игру, а не модифицирует настройки системы или доустановит какое-то говнецо, ведь добавить любой зловред в такие файлы проще простого. Человек хочет скачать игру, вместо игры ему впаривают какой-то "онлайн-установщик". Глядя на размер игры можно понять, что это погрызанная сборка, если вес 200 МБ, которая будет докачивать карты/модели по каждому чиху. Или набитый дерьмом клиент, если вес 500 МБ. А какую информацию имеет человек, который качает 1 МБ онлайн-установщик? ![]() Просунутий сервер з максимумом зброї, можливо старійший в Україні
[UA] DNET CS Public Server #1 |
|
|
|
Gecko
|
28.9.2023, 12:37
Сообщение
|
|
|
usercn, Я же ясно написал, установщик скачает архив и распакует его в текущий каталог, всё. Никакой другой мусор в систему добавлен не будет. Это равносильно тому что ты просто скачаешь архив и распакуешь его. А вот оффлайн-установщики (чаще всего) могут гадить реестр, могут производить теневую установку, и много чего другого. Очень много подобных установщиков по умолчанию требуют ещё права админа.По поводу обновлений, ну любой современный клиент cs 1.6 обновляется, куда не глянь везде есть libcurl, тот же GSClient замечательно может обновлять всё что угодно. По этому про обновления вообще не актуальное замечание. В чем удобство онлайн установщика для создателя сборки? Можно разместить свою сборку на многих серверах (в разных регионах) и просто указать адреса на закачку и хеш-суммы в файл dl.txt Пользователь запустив csinstaller.exe (под Win) или csinstaller (под Linux) получит сообщение что клиент игры будет скачан на максимальной скорости в текущий каталог. В самой программе происходит следующее: Скачивается файл с github.com/user/repo/dl.txt в котором записаны адреса серверов с которых можно скачать клиент counter-strike1.6.zip (github.com указан в качестве примера, можно выбрать любую платформу для хостинга исходного кода установщика и его бинарной версии.) Вот пример такого файла: Код https://site1.com/dl/counter-strike1.6.zip cabd3d866dfdda45cb8c5a8a33514c36 https://site2.com/dl/counter-strike1.6.zip cabd3d866dfdda45cb8c5a8a33514c36 https://site2.com/dl/counter-strike1.6.zip cabd3d866dfdda45cb8c5a8a33514c36 https://site3.com/dl/counter-strike1.6.zip cabd3d866dfdda45cb8c5a8a33514c36 https://site4.com/dl/counter-strike1.6.zip cabd3d866dfdda45cb8c5a8a33514c36 Программа проверит возможную скорость закачки с каждым из серверов и выберет наиболее подходящее. Таким образом, можно безопасно раздавать клиент игры с разных серверов (ведь установщик автоматически проверяет хеши) не боясь их подмены, ведь любой установщик на сайте легко можно подменить, такое уже много раз бывало, и человек будучи уверен что скачивает легитимный клиент - качает подделку, если онлайн установщик спокойно можно разместить на github.com и максимально его контролировать, то готовые дистрибутивы игры так просто на бесплатных платформах не разместишь. К тому же, мы получаем ситуацию когда пользователь скачает игру на максимальной для себя скорости, обходя возможные блокировки. И не нужно на сайтах указывать ссылку на клиент, достаточно указать ссылку на установщик, который можно разместить на github, да ещё и с исходным кодом, очень хорошим тоном при старте установщика указывать ссылку на репозиторий с исходным кодом установщика. (добавил эту опцию) А если это gnu/linux? Тот тут ещё проще, просто запускаешь программу в консоле ./csinstaller и всё, установщик скачает и распакует игру и выдаст сообщение что такая-то игра успешно установлена и для запуска нужно выполнить: Код bash counter-strike.1.6/run.sh (Информацию о дистрибутиве игры/программы установщик берет из файла version.log этот файл должен быть в корневом каталоге программы, если этого файла нет то, пользователь получить только информацию что программа скачана и распакована.) - скрипт определит дистрибутив ОС и установит нужное окружение на базе которого программа/игра гарантированно будет работать. Сам файл run.sh никакого отношения к установщику не имеет, это просто рекомендация как должно быть по уму, и автор линукс-сборки сам пишет этот файл под конкретный дистрибутив ОС, или семейство дистрибутивов. И не нужно бегать по интернетам искать любимый дистрибутив игры, достаточно запустить csinstaller и всё. Также установщик умеет работать с торрентами, если указать вместо ссылки на архив с игрой - торрент файл, то установщик сам скачает игру без необходимости устанавливать террент клиент. Также опционально, после распаковки программы можно задавать пользователю вопрос о создании ярлыка для запуска игры на рабочий стол. Если бы я лично, прочитал на сайте что у установщика есть исходный код, и есть ссылка на репозиторий где всё описано есть все хеши, то я лично использовал бы именно такой установщик. Еслибы в игре были хеши всех файлов, и всё что создано не Valve - было бы открыто, то автору такого дистрибутива игры только уважение... По моей задумке, данный онлайн установщик идет в паре с cslauncher.exe (бывший LVMS) который я допилил до идеального состояния под linux и под Win. А для любителей раскруток я написал csas.exe (cs add servers) вот демо версия программы в полной версии она работает с СУБД sqlite, а также при добавлении сервера проверяет установленную ссылку на клиент/csinstaller.exe. Программа очень мощная хоть и имеет примитивный интерфейс, но она по функционалу делает всё тоже самое что и любой другой моник, только работает быстрее и потребляет меньше ресурсов раз в 10.
Отредактировал: Gecko, - 28.9.2023, 13:17
![]() Не отвечаю на ЛС.
|
Поблагодарили 1 раз
|
|
Gecko
|
30.9.2023, 0:07
Сообщение
|
|
|
Metal Messiah, Почитай внимательно мой предыдущий пост. Я там постарался более развернуто ответить на некоторые вопросы.В том числе, я ответил на вопрос почему оффлайн установщик это зло Также я полностью раскрыл проблему с CDN, и объяснил как онлайн установщик всё это легко решает в отличие от оффлайн. Удалить, подменить оффлайн версию в разы проще чем онлайн-установщик, отвечаю ещё раз - онлайн установщик очень мало весит, его без проблем можно разместить на том же github.com, более того, можно и даже нужно открыть исходный код установщика, подменить установщик и саму базу ссылок на архив с игрой (dl.txt) на github не так уж просто, в отличие от VPS, виртуальный хостинг. Держать архив с игрой на гугл диске это как вариант, но это не удобно в плане обновлений архива. Онлайн установщик проверяет хеши, а значит, всегда можно разместить сборку на левых (не доверенных серверах) бесплатный хостинг, или партнерка. Онлайн установщик работает с одним внешним текстовым файлом (dl.txt), который всегда можно изменить, добавив или удалив оттуда ссылки на архив с игрой. Онлайн установщик проверяет каждую ссылку и выбирает ту ссылку для закачки по которой скорость будет выше. Если ссылка не рабочая, установщик просто её пропустит и предложит другие варианты, если все ссылки не рабочие, то установщик сообщит об этом в консоль, но у автора онлайн установщика всегда будет возможность заменить ссылки в файле d.txt который лежит к примеру на https://github.com/user1/repo/dl.txt Цитата В чем удобство онлайн установщика для создателя сборки? Можно разместить свою сборку на многих серверах (в разных регионах) и просто указать адреса на закачку и хеш-суммы в файл dl.txt Пользователь запустив csinstaller.exe (под Win) или csinstaller (под Linux) получит сообщение что клиент игры будет скачан на максимальной скорости в текущий каталог. В самой программе происходит следующее: Скачивается файл с github.com/user/repo/dl.txt в котором записаны адреса серверов с которых можно скачать клиент counter-strike1.6.zip (github.com указан в качестве примера, можно выбрать любую платформу для хостинга исходного кода установщика и его бинарной версии.) Вот пример такого файла: Код https://site1.com/dl/counter-strike1.6.zip cabd3d866dfdda45cb8c5a8a33514c36 https://site2.com/dl/counter-strike1.6.zip cabd3d866dfdda45cb8c5a8a33514c36 https://site3.com/dl/counter-strike1.6.zip cabd3d866dfdda45cb8c5a8a33514c36 https://site4.com/dl/counter-strike1.6.zip cabd3d866dfdda45cb8c5a8a33514c36 https://site5.com/dl/counter-strike1.6.zip cabd3d866dfdda45cb8c5a8a33514c36 Программа проверит возможную скорость закачки с каждым из серверов и выберет наиболее подходящее. Таким образом, можно безопасно раздавать клиент игры с разных серверов (ведь установщик автоматически проверяет хеши) не боясь их подмены, ведь любой установщик на сайте легко можно подменить, такое уже много раз бывало, и человек будучи уверен что скачивает легитимный клиент - качает подделку, если онлайн установщик спокойно можно разместить на github.com и максимально его контролировать, то готовые дистрибутивы игры так просто на бесплатных платформах не разместишь. Онлайн установщик написан на Go (а значит кроссплатформенный), его можно использовать под всё что угодно, не только для игр. Ну и основной плюс, это открытый исходный код,там нет ничего секретного, база данных это внешний текстовый файл, по этому раскрывать исходный код можно даже продакшн версии онлайн установщика. По поводу хрома, ну я не пытаюсь сделать комбайн, на данный момент я хочу сделать качественный продукт где каждый участок кода имеет полное описание где есть готовая документация на русском языке, где человеку не нужно будет изобретать велосипед, а просто взять мой код и допилить под свои нужды. А что есть у вас сейчас? InnoSetup под Шindows и Wine... Если есть что-то готовое, приведите мне ссылки я гляну. Пока я не увидел внятой аргументации в пользу оффлайн установщика. Да, можно на прямую указать ссылку на архив с игрой, можно скачать игру и проверить в ручном режиме хеш, можно в ручном режиме распаковать, создать ярлык, прочитать README.txt в архиве чтобы ознакомиться с дистрибутивом игры... Кроме одного, имея 10 ссылок ты не угадаешь по какой у тебя закачка будет быстрее... Нужно каждую проверять в ручном режиме. Да, только всё это, может делать одна программа весом в 5МБ. Из того что можно добавить в онлайн установщик: Сверить язык системы, если язык RU - скачать версию клиента на русском, а для всех остальных - английская версия.
Отредактировал: Gecko, - 30.9.2023, 0:40
![]() Не отвечаю на ЛС.
|
Поблагодарили 1 раз
|
|
Eka
|
30.9.2023, 15:45
Сообщение
|
|
|
Какую проблему это решает?
![]() цитаты великих умов
Цитата аналог libcurl в Go это net/http |
|
|
|
usercn
|
1.10.2023, 10:26
Сообщение
|
![]() |
Уже несколько человек объяснили, что данная задача бесполезна по своей сути. Ничего она не решает, разве, что амбиции в плане: "Я создал самую компактную КС 1.6, весом 1МБ". А остальные 500 МБ она докачает при запуске игры...))))
Мне всегда не нравились программы, которые при запуске первым делом лезут в интернет, что-то докачивать/подкачивать, обновляются за каждым чихом. Новые версии не всегда лучше старых - пользователь сам разберется, что ему делать. ![]() Просунутий сервер з максимумом зброї, можливо старійший в Україні
[UA] DNET CS Public Server #1 |
Поблагодарили 1 раз
|
|
![]() ![]() |