SH скрипт для отсылки команды в игру

Тема в разделе "Всякое", создана пользователем Vit_ amin, 12 авг 2012.

  1. Vit_ amin

    Vit_ amin BotManager001

    Сообщения:
    1.059
    Симпатии:
    345
    Всем привет.
    Можно ли как то сделать .sh скрипт , чтобы он выполнял определённую команду через определённый интервал времени например каждые 30 секунд выполнялась команда say ....
    P.S. Прошу прощение если тема как то не так оформлена или чего то в ней не хватает.
     
    TolikCorp нравится это.
  2. tiger_by

    tiger_by Гл. Админ SourceGames.RU

    Сообщения:
    629
    Симпатии:
    279
    Если в screen запущен сервер, то
    Код:
    Actually it's quite simple. You can use the following:
      [code]screen -S sessionname -X stuff 'command'`echo -ne '\015'`
    echo -ne '\015' emulates pressing the Enter key.

    [/code]
     
    TolikCorp и Vit_ amin нравится это.
  3. Vit_ amin

    Vit_ amin BotManager001

    Сообщения:
    1.059
    Симпатии:
    345
    А если не в скрине ?
     
    TolikCorp нравится это.
  4. tiger_by

    tiger_by Гл. Админ SourceGames.RU

    Сообщения:
    629
    Симпатии:
    279
    Тогда rcon (писали про php скрипт для rcon из sourcebans)
     
    TolikCorp и Vit_ amin нравится это.
  5. Vit_ amin

    Vit_ amin BotManager001

    Сообщения:
    1.059
    Симпатии:
    345
    А можно ли обойтись без php, а только с помощью rcon
    Каким нибудь образом.
     
    TolikCorp нравится это.
  6. ZloyMonah

    ZloyMonah

    Сообщения:
    479
    Симпатии:
    71
    Что бы написать есть так сказать две "дырки" в сервер, скрин и rcon! мб еще есть что нить но я думаю что это все!!!
     
    TolikCorp нравится это.
  7. Vit_ amin

    Vit_ amin BotManager001

    Сообщения:
    1.059
    Симпатии:
    345
    ну так я и про это как через rcon
     
    TolikCorp нравится это.
  8. tiger_by

    tiger_by Гл. Админ SourceGames.RU

    Сообщения:
    629
    Симпатии:
    279
    Дружище, чтобы выполнить php скрипт, не обязательно его исполнять вебсервером. Ты можешь выполнить его и в консоли, можешь включить в свой баш скрипт.
     
    TolikCorp и Vit_ amin нравится это.
  9. Vit_ amin

    Vit_ amin BotManager001

    Сообщения:
    1.059
    Симпатии:
    345
    Вот это уже вроде-бы как интересней просвяти пожалуйста ? :secret:
     
    TolikCorp нравится это.
  10. tiger_by

    tiger_by Гл. Админ SourceGames.RU

    Сообщения:
    629
    Симпатии:
    279
    PHP:
    echo -e '<?php\necho "Hello, world!"\n?>' > test.php; chmod +x test.php; echo -e '#!/bin/bash\nphp test.php' > test.sh; chmod +x test.sh; ./test.sh
    А по сути ты в баш скрипте выполняешь php скрипт в виде
    Код:
    #!/bin/bash
    php script.php
    Были бы права на запуск.

    З.Ы.: Используй screen - это лучший вариант.
     
    TolikCorp и Vit_ amin нравится это.
  11. Vit_ amin

    Vit_ amin BotManager001

    Сообщения:
    1.059
    Симпатии:
    345
    Ясно спасибо а как использовать в screen цикл чтобы писало через команду say бесконечное кол-во текст.
     
    TolikCorp нравится это.
  12. tiger_by

    tiger_by Гл. Админ SourceGames.RU

    Сообщения:
    629
    Симпатии:
    279
    Если хочешь именно для say , то есть плагин advertiesment. А так используй что то типа
    Код:
    #!/bin/bash
    while true; do
      screen -S sessionname -X stuff 'command'`echo -ne '\015'`; sleep 30
    done
    
     
    TolikCorp и Vit_ amin нравится это.
  13. Vit_ amin

    Vit_ amin BotManager001

    Сообщения:
    1.059
    Симпатии:
    345
    Мне просто кое что надо через say сделать и :)
    tiger щас проверю отпишусь спс тебе =)

    Добавлено через 20 минут
    Странно написал в терминал ./avdert.sh ответ ->
    Во общем я опробовал сделать вот такой код
    screen -S classic -X stuff "say =)"
    Не работает не пишет Console: =)
     
    Последнее редактирование: 12 авг 2012
    TolikCorp нравится это.
  14. KorDen

    KorDen Atra esterní ono thelduin! Ньюсмейкер

    Сообщения:
    2.194
    Симпатии:
    1.398
    Зачем SH? Есть прекрасный старый плагин Server Crontab - https://forums.alliedmods.net/showthread.php?p=523298 - Он все еще нормально работает.

    Удали нафиг стандартный блокнот, поставь Notepad2 и выбери Line Endings - Unix (LF)

    Кстати, меня еще интересует немного обратная вещь - можно ли как-то выполнить sh скрипт через PHP? (Веб сервер запускается от того же пользователя). Конкретно нужно килать процессы через PHP... Или как-то по-другому, но через web-сервер
     
    TolikCorp нравится это.
  15. SenatoR

    SenatoR Модератор

    Сообщения:
    714
    Симпатии:
    270
    Лучше notepad++ с плагином сурс мода.
     
    TolikCorp нравится это.
  16. Vit_ amin

    Vit_ amin BotManager001

    Сообщения:
    1.059
    Симпатии:
    345
    А ты уверен что у меня Обычный блокнот я использую Notepad ++
    Мне нужно это сделать именно через .sh скрипт
     
  17. KorDen

    KorDen Atra esterní ono thelduin! Ньюсмейкер

    Сообщения:
    2.194
    Симпатии:
    1.398
    Тогда в этом самом нотепаде++ поставь соответствующий параметр окончания строки... Либо через SSH открой файл mcedit'ом или чем-нибудь еще и удали ^M в конце каждой строки
     
  18. Vit_ amin

    Vit_ amin BotManager001

    Сообщения:
    1.059
    Симпатии:
    345
    Не совсем понимаю где этот параметр найти ...
     
  19. tiger_by

    tiger_by Гл. Админ SourceGames.RU

    Сообщения:
    629
    Симпатии:
    279
    Твой скрин не выполняет потому что ты не дописал эмуляцию нажатия enter (читай первые посты)

    Чтобы выполнить баш скрпт в пхп надо делать типа
    Код:
    <?php
    `bash script.sh`
    ?>
     
    KorDen и Vit_ amin нравится это.
  20. Vit_ amin

    Vit_ amin BotManager001

    Сообщения:
    1.059
    Симпатии:
    345
    tiger а не мог бы ты скинуть полный код если не трудно я уже запутался ...