• Возможно ли с нуля сделать сервер для игры Mafia 2?

    saboteur_kiev
    @saboteur_kiev Куратор тега Разработка игр
    software engineer
    Реверсишь сетевую активность между сервером и клиентом. Вычисляешь все необхоимые пакеты. Пишешь свой сервер.
    Но работа эта может быть огромная.

    Свой сервер для Lineage 2 писали несколько лет множество команд добровольцев. Он смог покрыть примерно 60-70% основного функционала. Потому что на сервере и 3д геодата мира, и АИ для монстров и обработка всех событий, заклинаний, навыков с их формулами, и квесты и так далее.
    Свой сервер Battlenet для starcraft/diablo писали за месяц, потому что там в общем только авторизация и лобби для старта игры.

    В зависимости от того, что делает сервер Мафии (не играл), может быть что угодно. Ну и реверсинг, если сейчас сервер уже нерабочий - КРАЙНЕ затруднен.
    Ответ написан
    3 комментария
  • Windows Home. Возможно ли использовать в организации?

    saboteur_kiev
    @saboteur_kiev Куратор тега Windows
    software engineer
    но и в целом законность использования одноранговой сети без каких-либо средств защиты, например того же доступа по учеткам из Active Directory

    Так а откуда Active Directory в одноранговой сети?
    Ну и собственно в Windows Home нет поддержки Active Directory.

    И с чего это Active Directory это средства защиты? Это средство централизированного управления.
    Ответ написан
    Комментировать
  • Python как импортировать функцию из файла находящегося в другой папке?

    saboteur_kiev
    @saboteur_kiev Куратор тега Python
    software engineer
    можно так
    import sys
    sys.path.append('../folder1')
    
    from name  import функция
    Ответ написан
    2 комментария
  • Как выбрать расстояние до веб сервера?

    saboteur_kiev
    @saboteur_kiev Куратор тега Компьютерные сети
    software engineer
    Поставь веб сервер на своем компе, и ходи на него. Не будет промежуточных серверов.
    Ответ написан
  • Как время передачи запроса зависит от расстояния до веб сервера?

    saboteur_kiev
    @saboteur_kiev Куратор тега Компьютерные сети
    software engineer
    Известно, что желательно иметь сервер физически поближе. Но хотелось бы знать цифры. Как задержка запроса зависит от расстояния до сервера? Сколько промежуточных серверов проходит запрос, какая средняя задержка на каждом сервере.


    в общем случае, базовую инфу можно получиьт через команду tracert или traceroute (смотря какая ОС). Она показывает пинг ко всем промежуточным хостам (если они отвечают) вплоть до вашей цели.

    Как задержка запроса зависит от расстояния до сервера?

    В общем случае считаешь расстояние и делишь на скорость света, если это оптика или ethernet. Например, как бы не пыхтеть, из Европы в штаты 10 мс пинг не сделать, тупо не успеет пакет дойти.

    В частном случае к этому добавляются задержки на каждом промежуточном хопе, ибо это какой-то сервер или устройство, на котором ваш пакет должен обработаться и отправиться дальше.
    Ответ написан
  • Context switch per second (Linux) 1.3млн это много или мало?

    saboteur_kiev
    @saboteur_kiev Куратор тега Linux
    software engineer
    Нужно понимать как работает многозадачность и распределение процессорного времени по ядрам.
    В Линукс довольно сложно посчитать реальную занятость процессора.
    В сам свитчинг ничего упираться не может, точнее нет каких-то специальных лимитов. Это обычная процессорная занятость, относящаяся наверное к system cpu usage, но это неточно. Чем быстрее процессор, тем быстрее он может выполнять свитчинг и тем больше свитчингов в секунду может быть выполнено, это просто выполнение инструкций процессора вне рамках процессов, а внутри ядра системы, точнее process scheduler.

    Но проблема в том, как именно распределяется процессорное время. process scheduler в ядре линукса выделяет слайсы примерно по 10-15 милисекунд на процесс, потом переключает на другой. Для процессов, которые что-то активно вычисляют (например архивация), после анализа деятельности может быть выделен более длинный слайс или несколько подряд, то есть уменьшается свитчинг. При этом оценка времени, которая нужна на сам свитчинг - она довольно сложная, ведь для подсчета количество потраченного cpu нужно потратить cpu, и эти 10-15% может на самом деле не существовать.

    Если парралельных процессов очень много и все хотят что-то делать (чекнуть load average), то машина просто не успевает обработать их все, и тратить на переключение приличное количество ресурса, вместо того чтобы непосредственно выполнять код ваших программ.
    Таким образом какого-то определенного лимита на context switching нет, это просто еще одна метрика, которая может подсказать что слишком много одновременно запускаете, можно попробовать оптимизировать.

    Ну или просто не хватает CPU, а система ошибочно показывает свободные ресурсы, которых на самом деле нет.

    Линукс на самом деле не так уж детально может посчитать точное количество ресурсов. Там выполняется все очень просто - на входе в контекст засекается timestamp, на выходе из контекста засекается таймстамп, и потраченное время дописывается в метаданные процесса (для каждого ядра, если процесс многопоточный). Исторические значения не записываются, в метаданных процесса есть только вот это - сколько всего cpu usage с момента старта процесса.
    Если запустить какой-нить top, он будет каждые 1-2 секунды бегать по списку процессов, сравнивать этот параметр и показывать результат загруженности за последние 1-2 секунды, но вот уточнить процесс занял свои 25% cpu плавно в течение секунды, или он занимал 100% cpu первую четверть секунды или третью - вы уже не сможете.

    Ну и само ядро считает свои внутренние потоки так же само.
    И только активность самого process scheduler (то есть cpu затраченное на анализ и переключения процессов) не может быть красиво подсчитана.

    p.s. я не разработчик линукс, поэтому это мое IMHO основанное на наблюдениях и обзорных статьях о работе современного планировщика, если будут гуру которые меня поправят или подтвердят сказанное - будет круто.
    Ответ написан
    Комментировать
  • Задать масштаб для мобильных браузеров?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    для js есть готовые библиотеки, которые определяют разрешение в зависимости от браузера и ОС (вычисляет мобильные и десктопные версии).
    Ответ написан
    Комментировать
  • Как называется данная система?

    saboteur_kiev
    @saboteur_kiev Куратор тега Веб-разработка
    software engineer
    так и называется oauth.
    Выдача токенов.
    Обычное апи для авторизации + документация как ваше API использовать и интегрировать в другие сайты
    Ответ написан
  • Можно ли записать данное sed выражение в одну строку?

    saboteur_kiev
    @saboteur_kiev Куратор тега Linux
    software engineer
    Что-то непонятно у вас с текстом.
    Приведите несколько строк из файла с alb.ingress.kubernetes
    там перевода строк нет, или как?
    sed не умеет работать с мультистроковыми регулярками, он считывает текст построчно и затем сравнивает с паттерном, при этом в считанной строке символа перевода строки собственно даже и не будет.
    Можно попробовать работать с мультилайн через наполнение pattern space, правда там будет конструкция посложнее.

    Наверное проще, если вы нормально приведете пример вашего лога, и можно будет посмотреть как там зацепиться.
    Ответ написан
    Комментировать
  • Насколько опасно оставлять сервер дома без присмотра?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Если электричество регулярно не выключается, то пожаробезопасность в принципе минимальная.
    Ответ написан
    Комментировать
  • Могу ли я явно указать в Jenkins SCM настройках, какой pull request из bitbucket хочу использовать для билда?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    ну можно указывать хеш коммита, но коммит же должен быть в любом случае в какую-то ветку слит.
    Ответ написан
    1 комментарий
  • Можно ли извлечь ссылку на приватный telegram канал?

    saboteur_kiev
    @saboteur_kiev Куратор тега Python
    software engineer
    Нет конечно.
    Ссылка на канал является защищенной информацией, ее может только сгенерировать и перегенерировать админ с правами.
    Ответ написан
    Комментировать
  • Какие характиеристики у оперативной памяти при загрузке ее данными?

    saboteur_kiev
    @saboteur_kiev Куратор тега Железо
    software engineer
    Можно банально посмотреть что тратит батарею больше всего.
    Из основных потребителей - экран, CPU, GPU, жесткий диск, SSD
    Потом идет остальная периферия - звук, сетевая карточка.
    Память ест настолько мало, то это практически никто и не считает. А Линукс молодец.
    Кстати, Windows, начиная с десятки, тоже так делает.
    Ответ написан
    6 комментариев
  • Белый IP адрес и подключение по ssh на устройство внутри домашней сети, как сделать?

    saboteur_kiev
    @saboteur_kiev Куратор тега Компьютерные сети
    software engineer
    Любой порт ставь, какой хочешь и внешний и внутренний.
    Главное, чтобы внутренний соответствовал тому порту, на котором у тебя ssh поднят, а внешний ты в клиенте указывал.
    Ответ написан
    Комментировать
  • Как найти вхождение в строке "@слово слово"?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    (@\w+\s?\w+).*\1

    что-то в этом роде?
    Ответ написан
    Комментировать
  • Плохой ли у меня метод обучения и почему стало скучно учится?

    saboteur_kiev
    @saboteur_kiev Куратор тега IT-образование
    software engineer
    Лучший способ обучение это теория, а потом практика


    Как бы все знают, что лучший способ обучения это практика.
    Так устроен мозг, так устроен организм.
    А теория она должна идти где-то рядом. И она хорошо воспринимается, когда потыкал тыком, что-то получилось, что-то нет, а потом теория просто на такое кладется как масло на хлеб.
    Ответ написан
    Комментировать
  • Какой вес выдерживает кресло?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    У кресла есть определенный функционал - устойчивость, крепление спинки, крепление стамины.
    В зависимости от материалов и конструкции, были рассчитаны допустимые нагрузки (и округлены до удобной цифры). Кроме того есть еще нагрузка обивочного материала - он истирается и рвется.
    Были сделаны какие-то тесты. После чего кресло, которое не выдержало установленных нагрузок, может быть по гарантии заменено (если докажешь, что не ложил в кресло больше чем можно).
    Все.
    В любое кресло можно положить гораздо бОльший вес. Вопрос в том, что какое-то сломается сразу, какое-то позже, ибо и брак может быть и конструктивные расчеты могут исходить из того, что людей с весом 150 обычно мало.
    Ответ написан
    Комментировать
  • Ssh программы и терминалы, какой посоветуете?

    saboteur_kiev
    @saboteur_kiev Куратор тега SSH
    software engineer
    Недавно стал использовать PuTTY, но не очень удобная программа, если у меня вырубили свет или я комп перезагрузил или еще чего, то все мои запущенные сессии или боты для телеги, закрываются и не работают.


    Нужно понимать что такое ssh клиент и что такое сессия на удаленном сервере.
    Любой ssh клиент будет работать точно также - если вырубили свет или комп, то сессии закрываются. Это же как бы логично.

    Если вы хотите создать ОДНУ удаленную сессию на удаленный сервер и уже внутри нее управлять подсессиями, то используйте виртуальные экраны через screen или tmux
    Но к нему в любом случае нужно подключаться ssh клиентом типа putty или securecrt или чем угодно
    Ответ написан
    6 комментариев
  • Какие есть программы анализатор скорости интернета?

    saboteur_kiev
    @saboteur_kiev Куратор тега Компьютерные сети
    software engineer
    Что такое скорость интернета?
    Интернет - это сеть, в ней миллионы узлов. К какому из них нужно замерить скорость? Или прям ко всему-всему интернету?
    Правильно мерять скорость нужно к конкретному серверу. Затем уже можно попытаться разобраться на каком именно узле происходят основные потери скорости, и от чего они зависят.

    Скорость на вашем порту можно мерять до маршрутизатора вашего провайдера.
    А мерять скорость за пределами порта - надо примерно представлять сеть аплинков вашего провайдера.
    Ответ написан
    Комментировать
  • Возможно ли обучить ии играть в 3д шутеры?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    ИИ уже давно играют в шутеры.
    Полно ботов начиная с Q1
    Ответ написан
    1 комментарий