@ProLua

Страница 150 из 307
Saphire
04.09.2017
12:25:23
А, в новых версиях есть
Это у тебя насколько устарела информация?

Мерлин
04.09.2017
12:25:25
И всё

Saphire
04.09.2017
12:25:30
... Так скучно

Snusmumriken
04.09.2017
12:25:37
> Редактирование без перезаписи в принципе возможно только в одном случае: мы дописываем в конец последнего добавленного файла

Google
Snusmumriken
04.09.2017
12:26:09
Нельзя занулять. Это файл. Нельзя менять то что уже написано, только дописывать в конец файла.

Saphire
04.09.2017
12:26:31
..с каких пор файлы у нас append-only?

Snusmumriken
04.09.2017
12:26:43
Ох, на стандартной сишке - вроде как всегда : ) Луа, в данном плане - идентична стандартной сишке. Там самый тупой адаптер из одного в другое.

Мерлин
04.09.2017
12:28:10
Можно внести дополнительный бит в заголовках tar и таким образом накостылять удаление

Snusmumriken
04.09.2017
12:28:32
Это если у тебя файловая система поддерживает изменение конкретных битов в кластере, без полной перезаписи. Хм. И специальный драйвер, вроде.

Мерлин
04.09.2017
12:29:51
Просто перезаписывать байт в файле, это вообще не проблема фс как таковой

Snusmumriken
04.09.2017
12:29:52
Хотя конкретно тут - я не очень шарю. Только на стандартной сишке, без дополнительных либ/команд/такой поебени.

О, и правда, загуглил, есть такие костыли, seek + запись определённых ascii-символов на "перезапись"

Snusmumriken
04.09.2017
12:35:33
Тогда можно мутить свою файловую систему внутри файла, с блоками : )

The Dude
04.09.2017
12:44:05
Скипнул 200 сообщений и последнее Снусовское... "Все как всегда" ?

Google
Snusmumriken
04.09.2017
12:45:01
Я пиздежеобильный, да.

The Dude
04.09.2017
12:45:17
Хули тут еще ожидать в этом чате? Разработку своей фс...

Snusmumriken
04.09.2017
12:46:21
Внутри файла )) Если бы ты не скипнул - прочитал бы как я изобрёл tar.

Group Butler [beta]
04.09.2017
19:21:51
Добро пожаловать в чат pro.lua, Gregory! Ознакомься с правилами чата (в описании и прикрепленном сообщении), и присоединяйся к обсуждению.

Louis
04.09.2017
19:25:01
ссылка не реп в инф о канале, это интерпр + библиотеки для луа?

Snusmumriken
04.09.2017
19:40:04
ссылка не реп в инф о канале, это интерпр + библиотеки для луа?
Ага. Типа билд "для тех кому срочно нужна луа с либами". Я предпочитаю дёргать куски этого комплекта, ибо кроссплатформа и luajit + биндинги. https://luapower.com/ Правда, часть либ приходится вычищать от местных тулзов, имплементируя тулзу внутрь локально. К счастью, таких тут немного.

Group Butler [beta]
05.09.2017
18:10:57
Добро пожаловать в чат pro.lua, Семён! Ознакомься с правилами чата (в описании и прикрепленном сообщении), и присоединяйся к обсуждению.

The Dude
06.09.2017
07:28:26
Флудер, в бан его!

Philipp
06.09.2017
07:42:10
Баян же

fgntfg
06.09.2017
09:10:50
@Snusmumriken https://habrahabr.ru/company/infowatch/blog/337084

мне тут яндекс.дзен статейку подкинул

а мы аккурат про это вчера беседовали

Saphire
06.09.2017
09:41:00
Немного оффтопик: сколько стоит распечатать примерно 860 страниц (ну или вдвое меньше листов с двух сторон) отсканированного текста?

Vadim
06.09.2017
09:43:48
2р/страница

Saphire
06.09.2017
09:44:36
...

fgntfg
06.09.2017
09:45:56
Ru Cafe глянь

если в Мааскве

Saphire
06.09.2017
09:46:42
fgntfg
06.09.2017
09:47:05
Посмотрел, действительно 2р\страница

Google
fgntfg
06.09.2017
09:47:09
думал дешевшее

Saphire
06.09.2017
09:47:45
Куча типографий, самое дешёвое - 2.7 руб за 2х стороннюю, это включая бумагу. И то, это может быть просто по одной странице в нескольких копиях имеется ввиду печать

fgntfg
06.09.2017
09:49:36
Можно придти в ближнюю к дому и поторговаться

Snusmumriken
06.09.2017
09:51:54
@Snusmumriken https://habrahabr.ru/company/infowatch/blog/337084
Да, неплохо. Но рассчёт на то что склеены два известных формата, а не известный + что-то странное : )

Vadim
06.09.2017
13:51:03
Были статьи на хабре про стеганографию и прятание данных в самих изображениях в т.ч. jpeg

Snusmumriken
06.09.2017
13:52:39
Были статьи на хабре про стеганографию и прятание данных в самих изображениях в т.ч. jpeg
Да, читал, офигительно крутая штука. Но есть лимиты на прятание. Ну, то есть текст спрятанный в картинке - меньшего объёма чем сама картинка. Было бы КРАЙНЕ забавно прятать скрипты игровых объектов внутри спрайтов этих же игровых объектов.

fgntfg
06.09.2017
13:53:06
Да, неплохо. Но рассчёт на то что склеены два известных формата, а не известный + что-то странное : )
Зип имеет сигнатуру. Покрайней мере так написано в статье. Можно держать пустой Зип, или зип с точно известным содержанием. Для которого будет известно окончание.

Paul
06.09.2017
13:53:31
А зачем что-либо прятать в игре?

fgntfg
06.09.2017
13:53:45
Прятать рессурсы игры в рессурсах игры

Saphire
06.09.2017
13:54:11
Там в Пико вся игра может быть в пнг сложена

Saphire
06.09.2017
13:54:23
Простой пнг

Snusmumriken
06.09.2017
13:54:29
Зип имеет сигнатуру. Покрайней мере так написано в статье. Можно держать пустой Зип, или зип с точно известным содержанием. Для которого будет известно окончание.
Он имеет сигнатуру начала : ) Смотри. У нас есть условно зип с ресурсами игры. В видимой части (zip-часть) - те ресурсы которые можно выдавать открытыми, их изменение не даст возможность читерства в сетевых игрулях с игроками-хостами. В невидимой части (кастомный формат) - всякие особо ценные скрипты, которые низя трогать, ибо допустим там реализация хоста.

Paul
06.09.2017
13:55:07
Там в Пико вся игра может быть в пнг сложена
Боюсь, туда только .kkrieger поместится чтобы при этом систему вдруг не убить

fgntfg
06.09.2017
13:55:21
Если игруля сетевая, то скрипты можно качать из сети и хранить в озу.

Saphire
06.09.2017
13:55:52
Если игруля сетевая, то скрипты можно качать из сети и хранить в озу.
А можно не извращаться и сделать всю логику на сервере

fgntfg
06.09.2017
13:56:11
Если это не очень шустрая игра, то можно

хотя каналы связи становятся всё каналистее

Google
Snusmumriken
06.09.2017
13:57:00
Если игруля сетевая, то скрипты можно качать из сети и хранить в озу.
Я думал на этот счёт. Но тогда никто не помешает дописать основную программу чтобы перенаправить код скриптов в файл. Вот если при загрузке скачивается ещё и случайно сгенерированный ключ игры, который, условно, меняется каждые сутки, а при коннекте к игроку-хосту проверяется эта версия - ещё куда ни шло.

Ты думаешь читеры такое не заметят?
Нет, не заметят. Они обнаружат архив, откроют его зипом и будут радоваться: "Обана! А тут простой зип!". Скрипты занимают незначительное пространство.

fgntfg
06.09.2017
13:58:10
Можно по коду игры распихать магических битов и всяких контрольных сумм. Если битик не совпадает, или контрольная сумма не сходится - писос пососос, а не игра

особый привет - модерам

Admin
ERROR: S client not available

Snusmumriken
06.09.2017
14:00:18
А можно не извращаться и сделать всю логику на сервере
Смотри какая у меня схема: 1. Есть сервер встреч, который пробивает NAT и страдает прочей хернёй, чтобы соединить игроков. У меня нет ресурсов держать 100500 серверов. 2. Есть серверы, которые хостят игроки, которые логинятся в мастер-сервере (даже если у них нет белого айпи). Вся логика на нём. 3. Есть клиенты, которые тоже могут работать серверами и логиниться у мастера, плюс они запрашивают у мастера список активных серверов для дальнейшего подключения. Если выдавать серверный код игрокам - будет жёппа, привет волхакам, читакам стреляющим сквозь стены и т.д. )))

fgntfg
06.09.2017
14:02:00
Можно получить от сервера ключ, для расшифровки рессурсов, расшифровывать всё в память, играть. Переодически получать от сервера новый ключ и перешифровывать всё на диске.

Но на каждую хитрую жопу найдется свой хуй с винтом, про это не надо забывать. И пока ты не лепишь игру расчитанную на киберспорт или на заработок на микротранзациях - всё это пустое.

Snusmumriken
06.09.2017
14:03:40
Можно получить от сервера ключ, для расшифровки рессурсов, расшифровывать всё в память, играть. Переодически получать от сервера новый ключ и перешифровывать всё на диске.
Не забывай что это скрипты. Можно открыть скрипт блокнотом и отключить шифрование, или записать ключ от сервера в файл. У меня основная идея - без сишных либ, делать максимально скрытую фигню. Скрывать скрипты сервера можно где-то в глубокой жопе, обфусцированно переопределив require на работу со скрытой частью архива, этого достаточно.

Snusmumriken
06.09.2017
14:04:26
Эммммммммм
Давай ты будешь писать полноценное сообщение, а не общаться междуметиями : ) Что такое локстеп?

Saphire
06.09.2017
14:05:57
Собственно, то, что ты сейчас сказал только говорит о том, как игровая сессия вообще создаётся. А что именно контролирует игру? А выдать серверный код надо всегда, если у тебя не ММО.

Philipp
06.09.2017
14:06:18
Междометия*

Snusmumriken
06.09.2017
14:07:07
Собственно, то, что ты сейчас сказал только говорит о том, как игровая сессия вообще создаётся. А что именно контролирует игру? А выдать серверный код надо всегда, если у тебя не ММО.
Авторитарный сервер или авторитарный хост, который одновременно и клиент и сервер. Ну, знаешь? "Го в доту, я создал!". Выдавать серверный код - не хочу :Р Хочу извращений.

Snusmumriken
06.09.2017
14:07:38
Где оно так называется? Линк. https://en.wikipedia.org/wiki/Lockstep_(computing)

Saphire
06.09.2017
14:07:43
Когда все клиенты просто синхронизируются друг с другом

Google
Tverd
06.09.2017
14:08:12
А кто-нить видел что-нить для MMO на луа? Интересует сервер, желательно многопоточный? Исходный код )

Philipp
06.09.2017
14:08:56
Точнее, там клиентские плагины на луа
По такой логике вообще офигеть сколько игр написать можно))

Snusmumriken
06.09.2017
14:09:03
Когда все клиенты просто синхронизируются друг с другом
Не друг с другом, а отсылают серверу свои условно нажатые клавиши, сервер их обрабатывает и возвращает результат, плюс результат всех нажатий клавиш других игроков, время от времени синхронизируя игровые объекты с компенсацией лага. Глянь: https://habrahabr.ru/post/302394/

Philipp
06.09.2017
14:10:11
(Статьи не читал, но в избранном давно)

Snusmumriken
06.09.2017
14:10:21
А это лёгкий локстеп. Берут срез состояния игры у первого игрока, загружают в своё, и если всё идеально одинакового работает, красота
Не берут никаких срезов, блин. Никаких. У сервера - свои состояния. Ты прям вцепился в термин. Давай урл на нормальное описание : )

Snusmumriken
06.09.2017
14:11:03
Сервер ему послал )))

Авторитарность, чел.

Saphire
06.09.2017
14:11:28
Сервер ему послал )))
А что именно послал то?

Snusmumriken
06.09.2017
14:11:48
Команды создания объектов, например. Переключения на определённое состояние, и т.п.

Saphire
06.09.2017
14:12:32
Команды создания объектов, например. Переключения на определённое состояние, и т.п.
Короче инструкции по поручению состояния такого же, как у сервера... Т.е. по сути передача состояния мира

Snusmumriken
06.09.2017
14:12:50
Ага. И иногда - полная синхронизация

Saphire
06.09.2017
14:12:50
Срез, если грубо говорить

Страница 150 из 307