Перейти к публикации
Форум - ComputerCraft
Zer0Galaxy

Клиент-сервер новостей и сообщений

Рекомендованные сообщения

Руководство по настройке сервера сообщений и пример работы с клиентом

На первый компьютер (который будет сервером) записываем файл mess_serv.

Запускаем mess_serv

При первом запуске сервер создает:

- файл passwd, в котором будут храниться пароли пользователей

- директорию messages, в которой будут храниться непрочитанные сообщения

- директорию readed, в которой будут храниться прочитанные сообщения

- директорию news, в которую необходимо помещать новости

На другой компьютер записываем файл mess_client. Придется подкорректировать

первую строчку этого файла, указать ID первого компьютера.

Запускаем mess_client. В дальнейшем все команды вводим на компьютере-клиенте

Видим меню

Регистрируем первого пользователя. Клик по пункту "New user"

Вводим ник и пароль, например Vasya и 123

Видим сообщение "User Vasya connected"

отконекчиваемся "Logout"

и регистрируем второго пользователя "New user"

Petya 456

Посылаем сообщение первому пользователю "Send mess"

После запроса Destination user nick вводим имя первого пользователя (Vasya)

или стрелками Вверх-Вниз выбираем из уже зарегистрированных

и текст сообщения (Privet ot Peti)

отконекчиваемся "Logout"

Регистрируем третьего пользователя

Посылаем сообщение первому пользователю

отконекчиваемся

Заходим снова под первым пользователем: "Login", вспоминаем имя и пароль

Проверяем почту "Check mess"

Видим сообщение You have 2 new message(s)

Читаем первое сообщение "Read mess"

Видим <Petya> Privet ot Peti

Его можно удалить <Del> или перейти к следующему <Стрелка вправо>

Видим <Sasha> Privet ot Sashi

 

На сервере:

a - для получения id и имен активных пользователей

u - для получения имен всех зарегистрированных пользователей

q - выход

 

В директории news создаем несколько файлов с текстами новостей и снова

запускаем сервер, после чего их можно будет почитать с клиента нажав пункт "News"

 

Сервер http://pastebin.com/K7VhM2N5

Клиент http://pastebin.com/1RUTNKNx

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Отличная программка и очень полезная. Просьба, хотелось бы после входа в аккаунт смену меню, то есть при активной сессии должны убираться лишние кнопки. Немножко где-то баг при удалении сообщений, одно всегда остается, а стирается после добавления новых. Хотелось бы дату смс видеть, и циклично месседжи крутить, то есть с последнего на первую перескакивает запись. И кнопку "удалить все месседжи"! Понравилось, как на сервере можно посмотреть пользователей (активных, всех). Нельзя ли по какой-то кнопке добавлять новости, что-бы не лезть в папки. С модемом повозился, функция его видит, но просит открыть (стоял с самого начала WiFi) надо бы еще проверку всунуть на тип модема, видимо.

 

Можно будет на спавне поставить и штук 3-5 терминалов, игроки смогут друг-другу мессаги оставлять и прочее, новости писать можно игрокам, ходя для админов есть плагин automessage в чат.

 

Вот функция получения времени на сайте http://www.timeapi.org. Вместо /now можно указать часовой пояс /pdt/7+hours+before или /pdt/3+hours+after и прочее. Там куча аргументов.

Ну а уже строку 2014-05-05T17:33:48+01:00 функцией string.sub() повыкусывать себе дату, время в любом формате можно.

 

function getWorldTime()
    if not http then
        print("Pastebin requires http API!!!")
        print("Set enable API_http in ComputerCraft.cfg")
        return false
    end
    local response = http.get("http://www.timeapi.org/utc/now")  --change args
    
    if response then
        local time_mess = response.readAll()
        response.close()
        return time_mess
        else
        return false
    end
end

print(getWorldTime())

На спавн надо будет однозначно поставить, супер почтовичок, единственное, что интерфейсик бы допилить чуть-чуть.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Руководство по настройке сервера сообщений и пример работы с клиентом

На первый компьютер (который будет сервером) записываем файл mess_serv.

Запускаем mess_serv

При первом запуске сервер создает:

- файл passwd, в котором будут храниться пароли пользователей

- директорию messages, в которой будут храниться непрочитанные сообщения

- директорию readed, в которой будут храниться прочитанные сообщения

- директорию news, в которую необходимо помещать новости

На другой компьютер записываем файл mess_client. Придется подкорректировать

первую строчку этого файла, указать ID первого компьютера.

Запускаем mess_client. В дальнейшем все команды вводим на компьютере-клиенте

Видим меню

Регистрируем первого пользователя. Клик по пункту "New user"

Вводим ник и пароль, например Vasya и 123

Видим сообщение "User Vasya connected"

отконекчиваемся "Logout"

и регистрируем второго пользователя "New user"

Petya 456

Посылаем сообщение первому пользователю "Send mess"

После запроса Destination user nick вводим имя первого пользователя (Vasya)

или стрелками Вверх-Вниз выбираем из уже зарегистрированных

и текст сообщения (Privet ot Peti)

отконекчиваемся "Logout"

Регистрируем третьего пользователя

Посылаем сообщение первому пользователю

отконекчиваемся

Заходим снова под первым пользователем: "Login", вспоминаем имя и пароль

Проверяем почту "Check mess"

Видим сообщение You have 2 new message(s)

Читаем первое сообщение "Read mess"

Видим <Petya> Privet ot Peti

Его можно удалить <Del> или перейти к следующему <Стрелка вправо>

Видим <Sasha> Privet ot Sashi

 

На сервере:

a - для получения id и имен активных пользователей

u - для получения имен всех зарегистрированных пользователей

q - выход

 

В директории news создаем несколько файлов с текстами новостей и снова

запускаем сервер, после чего их можно будет почитать с клиента нажав пункт "News"

 

Сервер http://pastebin.com/K7VhM2N5

Клиент http://pastebin.com/1RUTNKNx

Какие библиотеки нужно "подключить"

т.е

local component = require("component") например. выходит ошибка на eventKey[keys.f6] (клиент)

pwdfilename=shell.resolve('passwd') (сервер)

помогите пожалуйста! 

версия майна 1.7.10

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

эта программа под CC(ComputerCraft).

Изменено пользователем NEO

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Какие библиотеки нужно "подключить"

т.еlocal component = require("component") например. выходит ошибка на eventKey[keys.f6] (клиент)

pwdfilename=shell.resolve('passwd') (сервер)

помогите пожалуйста! 

версия майна 1.7.10

Если Вы про клиент-сервер новостей, то он писался под Computercraft и никаких дополнительных библиотек не требует. Но, похоже вопрос по моду OpenComputers

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Если Вы про клиент-сервер новостей, то он писался под Computercraft и никаких дополнительных библиотек не требует. Но, похоже вопрос по моду OpenComputers

верно по OC т.е никак не перенести с CC на OC?(

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Все можно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

верно по OC т.е никак не перенести с CC на OC?(

Перенести-то можно, но для этого нужен человек, знакомый с обоими модами и готовый перелопатить 612 строк кода, чтобы определить что всё-таки необходимо подключать и переписать весть код под ОК.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Я знаю такого человека - Тоторо. С ним надо договариваться

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Я знаю такого человека - Тоторо. С ним надо договариваться

Да, да, когда писал, фраза "нужен человек" в голове уже звучала, как "Тоторо":D

А вообще NEO вон задумал делать автоматического Тоторо, способного быстренько портировать программы с несколькими тысячами строк кода)

 

Тема с Totoro (automatical edition) вот тут: http://computercraft.ru/topic/328-aktualnost-idei-skazhite-svoe-mnenie/?view=getnewpost.

  • Like 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

×