Что этот софт умеет:
- Контроль реактора через редстоун.
- Выдавать редстоун сигнал если что то не так(например, реактор перегрелся)(нужно что бы пользователь знал что у него что то не то)
- "Пропускать" через себя редстоун сигнал. т.е. программа не "полностью контролирует сама" а позволяет пользователю выключить реактор.
- Подключатся к реактору через его камеру, ядро, или по его id(если на 1 кабеле больше 1 реактора, хотя я не тестировал этот софт с несколькими реакторами)
- Работать с редстоун входом и выходом но на разных адресах(выход к реактору вы ставите около реактора а сигнал управления тяните к мастерской)
- Читать значения из энергохранилища, а именно:
- gregtech energy buffer
- ic2 energy storage (т.к. в ic2 на каждый буфер свое имя а мы тут вообщето играем на gregtech сервере то поддержка буферов была не реализованна)
- gregtech energy buffer with asielib
Последний пункт актуален в данный момент, т.к. для его работы нужен мод asielib, который требуется для comutronics.
- Сохранять эти настройки на диск, т.е. вам не надо трогать исходный код и вы можете переносить конфигурацию между компьютерами
Итак, приступим к установке.
1. Сборка железа.
Итак, вы все таки решились рискнуть своей базой и воспользоватся этой програмой, нам понадобится(Пишу на английском т.к. в грег на русском играют очень мало):
- Opencomputers:
- 2x adapter
- Nx cable(зависит от вашей схемы)
- Nx Screen 1го тира(кол-во мониторов и их тир могут быть больше, зависит от ваших предпочтений)
- 1x Keyboard
- 1x Computer case 1го тира (тир может быть выше, зависит от ваших предпочтений. Советую делать от 2го, для интернет карты.)
- 1x Internet Card (См. пункт выше)
- 1x Graphics Card 1го тира (тир по аналогии с Computer case)
- 1x CPU 1го тира (тир по аналогии с Computer case)
- Nx Memory от 1.5 тира, на время установки рекомендую 2 штуки (можно и ниже но при установке софта может не хватать памяти.)
- 1x Hard Disk Drive 1го тира (тир по аналогии с Computer case)
- 1x EEPROM (Lua BIOS)
- 1x Disk drive
- 1x OpenOS (floppy)
- 1-2x Redstone I/O Можно в виде блока или в виде карты в компьютер, без разницы.
- Остальное:
- Industrial craft reactor
- battery buffer
2. Установка программ
Сперва необходимо установить ОС, для этого загрузившись с дискеты пишем install и соглашаемся с установкой, после можно извлечь дискету и убрать дисковод.
Итак, мы поставили компьютер и установили на него ОС, теперь у нас 2 пути:
- У нас корпус 2+ уровня, и мы можем себе позволить Internet Card
- Мы делали все по минимуму.
Сразу расскажу как вставлять текст, это понадобится в любом случае. Копируем текст из браузера(или любого другого источника), открываете монитор компьютера, и нажимаете insert на клавиатуре. Таким образом можно вставить до 256 строчек.
Для сохранения файла из буфера обмена набираем
Код: Выделить всё
edit <имя файла>Код: Выделить всё
Ctrl+SКод: Выделить всё
Ctrl+WКопируем эти ссылки по одной и вставляем в терминал, дожидаясь пока не высветится приглашение к вводу.
Код: Выделить всё
wget -f https://raw.githubusercontent.com/asvdvl/lua-opencomputer-projects/master/soft/icReactorManadger.lua reactorControl.lua
wget -f https://raw.githubusercontent.com/asvdvl/asvlibs/master/installer.lua /tmp/installer.lua ; /tmp/installer.lua
echo reactorControl.lua > .shrc
Вариант 2: Ручное копирование.
В таблице список из ключей <Ссылкка на файл> # <Пусть на компьютере> как сохранять файлы было описано в начале пункта. Открываете ссылку в браузере и копируете.
Код: Выделить всё
https://raw.githubusercontent.com/asvdvl/lua-opencomputer-projects/master/soft/icReactorManadger.lua # reactorControl.lua
https://raw.githubusercontent.com/asvdvl/asvlibs/master/asv/init.lua # /lib/asv/init.lua (Создайте папку /lib/asv/ перед копированием)
https://raw.githubusercontent.com/asvdvl/asvlibs/master/asv/settings.lua # /lib/asv/settings.lua
Код: Выделить всё
echo reactorControl.lua > .shrc3. Настройка
Конфигурация программы находится в /etc/settings/reactor.cfg
Важнное примечание: что бы конфиг-файл появился необходимо хотя бы раз запустить программу.
Конфиг по умолчанию:
Код: Выделить всё
{alarm=false,
connectToEnergyStorageType=0,
connectToReactorType=0,
energyStorageAddress="0",
energyStorageType=0,
inputRedstone="222",
reactorId="0",
reactorRedstone="111",
sideAlarm=2,
sideIn=1,
sideOut=0,
updatePer=3,
useEnergyStorage=false}- updatePer - Задержка в секундах между циклами вывода состояния на экран.
useEnergyStorage - использовать ли энерго хранилище для управления реактором?- true - использовать
- false - не использовать
- 0 - Использовать gregtech batterybuffer, не рекомендуется, api gt позволяет получить только внутренний буфер(батареи будут всегда на 100%)
- 1 - использовать ic2 energy storage(не реализовано)
- 2 - использовать gregtech batterybuffer с asielib(Рекомендуется, проверьте наличие computronics в сборке(или просто asielib))
- 0 - по имени компонента(если к компьютеру подключен только один буфер)
- 1 - подключить по адресу(если подключено несколько)
alarm - выдавать сигнал редстоуна если реактор перегрет- true - использовать
- false - не использовать
- Низ - 0
- Верх - 1
- север - 2
- юг - 3
- запад - 4
- восток - 5
sideIn - сторона для приема управляющего сигнала
connectToReactorType - метод подключения к реактору- подключение к reactor chamber
- подключение к core
- подключение по id
reactorRedstone и inputRedstone - адреса редстоун интерфейсов. если у вас 1 интерфейс для всего то набираемдостаточно переписать первые 3-4 символа.Код: Выделить всё
components redst
Если у вас больше 1 интерфейса то можно временно отключить другой и методом исколючения выясните адреса. Внимание! Если вы снесете интерфейс то адрес сбросится!
Код: Выделить всё
{alarm=false,
connectToEnergyStorageType=0,
connectToReactorType=0,
energyStorageAddress="0",
energyStorageType=2,
inputRedstone="de62",
reactorId="0",
reactorRedstone="de62",
sideAlarm=2,
sideIn=1,
sideOut=0,
updatePer=3,
useEnergyStorage=true}- 0 - Все хорошо.
- 1 - Полный batbuffer
- 2 - не хватает компонентов(не успевает отобразится, програма выходит раньше обновления экрана)
- 3 - Перегрев реактора!
- 4 - Нет управляющего входа(реактор "отключен" в ручную)