Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
1c84703ac6 | ||
|
|
25e1e5165d | ||
|
|
a76234f43d | ||
|
|
a3afadd5f5 | ||
|
|
002b3cf338 | ||
|
|
a7895ef59a | ||
|
|
852a096f1d | ||
|
|
69030796f5 | ||
|
|
19d92c8cac |
@@ -6,7 +6,7 @@ using BlubbFish.Utils;
|
||||
namespace ZwayBot {
|
||||
abstract class AModul {
|
||||
protected ZwayController zw;
|
||||
private InIReader settings;
|
||||
private readonly InIReader settings;
|
||||
protected Dictionary<String, Dictionary<String, String>> config = new Dictionary<String, Dictionary<String, String>>();
|
||||
|
||||
public Boolean HasConfig { get; private set; }
|
||||
|
||||
@@ -16,7 +16,7 @@ namespace ZwayBot.Moduls {
|
||||
|
||||
public override event ModulEvent Update;
|
||||
|
||||
private Dictionary<String, String> cron_named = new Dictionary<String, String> {
|
||||
private readonly Dictionary<String, String> cron_named = new Dictionary<String, String> {
|
||||
{ "@yearly", "0 0 1 1 *" },
|
||||
{ "@annually", "0 0 1 1 *" },
|
||||
{ "@monthly", "0 0 1 * *" },
|
||||
@@ -166,19 +166,13 @@ namespace ZwayBot.Moduls {
|
||||
if (!this.disposedValue) {
|
||||
if (disposing) {
|
||||
this.thread.Abort();
|
||||
while(this.thread.ThreadState != ThreadState.Aborted) { Thread.Sleep(100); }
|
||||
while(this.thread.ThreadState == ThreadState.Running) { Thread.Sleep(100); }
|
||||
}
|
||||
|
||||
this.thread = null;
|
||||
|
||||
this.disposedValue = true;
|
||||
}
|
||||
}
|
||||
|
||||
~CronJob() {
|
||||
Dispose(false);
|
||||
}
|
||||
|
||||
public override void Dispose() {
|
||||
Dispose(true);
|
||||
GC.SuppressFinalize(this);
|
||||
|
||||
@@ -11,7 +11,7 @@ using LitJson;
|
||||
|
||||
namespace ZwayBot.Moduls {
|
||||
class Mqtt : AModul, IDisposable {
|
||||
private ABackend mqtt;
|
||||
private readonly ABackend mqtt;
|
||||
private Dictionary<String, AModul> modules;
|
||||
|
||||
public override event ModulEvent Update;
|
||||
|
||||
@@ -7,7 +7,7 @@ using BlubbFish.Utils;
|
||||
|
||||
namespace ZwayBot.Moduls {
|
||||
internal class Overtaker : AModul, IDisposable {
|
||||
private Dictionary<String, Dictionary<String, String>> events = new Dictionary<String, Dictionary<String, String>>();
|
||||
private readonly Dictionary<String, Dictionary<String, String>> events = new Dictionary<String, Dictionary<String, String>>();
|
||||
|
||||
public override event ModulEvent Update;
|
||||
|
||||
@@ -89,10 +89,6 @@ namespace ZwayBot.Moduls {
|
||||
}
|
||||
}
|
||||
|
||||
~Overtaker() {
|
||||
Dispose(false);
|
||||
}
|
||||
|
||||
public override void Dispose() {
|
||||
Dispose(true);
|
||||
GC.SuppressFinalize(this);
|
||||
|
||||
@@ -9,8 +9,8 @@ using BlubbFish.Utils.IoT.Interfaces;
|
||||
namespace ZwayBot.Moduls {
|
||||
class Senml : AModul {
|
||||
public override event ModulEvent Update;
|
||||
private ABackend mqtt;
|
||||
private String SenmlGuid;
|
||||
private readonly ABackend mqtt;
|
||||
private readonly String SenmlGuid;
|
||||
|
||||
public Senml(ZwayController zway, InIReader settings) : base(zway, settings) {
|
||||
if (this.config.ContainsKey("settings")) {
|
||||
|
||||
+25
-1
@@ -1,6 +1,7 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Reflection;
|
||||
using System.Threading;
|
||||
using BlubbFish.IoT.Zway;
|
||||
using BlubbFish.Utils;
|
||||
|
||||
@@ -11,6 +12,7 @@ namespace ZwayBot {
|
||||
private readonly ZwayController zw;
|
||||
private readonly Dictionary<String, AModul> moduls = new Dictionary<String, AModul>();
|
||||
private Boolean RunningProcess = true;
|
||||
private Thread sig_thread;
|
||||
private readonly ProgramLogger logger = new ProgramLogger();
|
||||
|
||||
public Program(String[] args) {
|
||||
@@ -42,14 +44,33 @@ namespace ZwayBot {
|
||||
}
|
||||
|
||||
private void WaitForShutdown() {
|
||||
if (Type.GetType("Mono.Runtime") != null) {
|
||||
this.sig_thread = new Thread(delegate () {
|
||||
Mono.Unix.UnixSignal[] signals = new Mono.Unix.UnixSignal[] {
|
||||
new Mono.Unix.UnixSignal(Mono.Unix.Native.Signum.SIGTERM),
|
||||
new Mono.Unix.UnixSignal(Mono.Unix.Native.Signum.SIGINT)
|
||||
};
|
||||
Console.WriteLine("Signalhandler Mono attached.");
|
||||
while (true) {
|
||||
Int32 i = Mono.Unix.UnixSignal.WaitAny(signals, -1);
|
||||
Console.WriteLine("Signalhandler Mono INT recieved " + i + ".");
|
||||
this.RunningProcess = false; // TODO BUG
|
||||
break;
|
||||
}
|
||||
});
|
||||
this.sig_thread.Start();
|
||||
} else {
|
||||
Console.CancelKeyPress += new ConsoleCancelEventHandler(this.SetupShutdown);
|
||||
Console.WriteLine("Signalhandler Windows attached.");
|
||||
}
|
||||
while (this.RunningProcess) {
|
||||
System.Threading.Thread.Sleep(100);
|
||||
Thread.Sleep(100);
|
||||
}
|
||||
}
|
||||
|
||||
private void SetupShutdown(Object sender, ConsoleCancelEventArgs e) {
|
||||
e.Cancel = true;
|
||||
Console.WriteLine("Signalhandler Windows INT recieved.");
|
||||
this.RunningProcess = false;
|
||||
}
|
||||
|
||||
@@ -59,6 +80,9 @@ namespace ZwayBot {
|
||||
Console.WriteLine("Modul entladen: " + item.Key);
|
||||
}
|
||||
this.zw.Dispose();
|
||||
if (this.sig_thread != null && this.sig_thread.IsAlive) {
|
||||
this.sig_thread.Abort();
|
||||
}
|
||||
}
|
||||
|
||||
private void ModulEvents() {
|
||||
|
||||
@@ -31,8 +31,8 @@ using System.Runtime.InteropServices;
|
||||
// Sie können alle Werte angeben oder Standardwerte für die Build- und Revisionsnummern verwenden,
|
||||
// übernehmen, indem Sie "*" eingeben:
|
||||
// [assembly: AssemblyVersion("1.0.*")]
|
||||
[assembly: AssemblyVersion("1.4.0")]
|
||||
[assembly: AssemblyFileVersion("1.4.0")]
|
||||
[assembly: AssemblyVersion("1.5.3")]
|
||||
[assembly: AssemblyFileVersion("1.5.3")]
|
||||
[assembly: NeutralResourcesLanguage("de-DE")]
|
||||
|
||||
// “Internet Of Things” icon by By Michael Wohlwend, US, from thenounproject.com.
|
||||
|
||||
+12
-27
@@ -12,6 +12,8 @@
|
||||
<FileAlignment>512</FileAlignment>
|
||||
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
|
||||
<TargetFrameworkProfile />
|
||||
<NuGetPackageImportStamp>
|
||||
</NuGetPackageImportStamp>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||
@@ -51,6 +53,7 @@
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="dpkg\preinst" />
|
||||
<None Include="dpkg\postinst" />
|
||||
<Compile Include="Events.cs" />
|
||||
<Compile Include="Interfaces\IForceLoad.cs" />
|
||||
<Compile Include="Moduls\AModul.cs" />
|
||||
@@ -95,33 +98,6 @@
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="control\control.sh">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="control\join.sh">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="control\loop.sh">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="control\restart.sh">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="control\settings.cfg">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="control\start.sh">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="control\stop.sh">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="control\stuff.sh">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="control\view.sh">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="config-example\cronjob.conf.example">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
@@ -149,7 +125,9 @@
|
||||
<None Include="dpkg\create-Builds.bat" />
|
||||
<None Include="dpkg\make-deb.sh" />
|
||||
<None Include="dpkg\prerm" />
|
||||
<None Include="dpkg\zwaybot-logrotate" />
|
||||
<None Include="dpkg\zwaybot.service" />
|
||||
<None Include="packages.config" />
|
||||
<None Include="Resources\Icon.ico" />
|
||||
<Content Include="Resources\icon.svg" />
|
||||
</ItemGroup>
|
||||
@@ -160,4 +138,11 @@
|
||||
</EmbeddedResource>
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
<Import Project="..\packages\Mono.Posix.5.4.0.201\build\net45\Mono.Posix.targets" Condition="Exists('..\packages\Mono.Posix.5.4.0.201\build\net45\Mono.Posix.targets')" />
|
||||
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
|
||||
<PropertyGroup>
|
||||
<ErrorText>Dieses Projekt verweist auf mindestens ein NuGet-Paket, das auf diesem Computer fehlt. Verwenden Sie die Wiederherstellung von NuGet-Paketen, um die fehlenden Dateien herunterzuladen. Weitere Informationen finden Sie unter "http://go.microsoft.com/fwlink/?LinkID=322105". Die fehlende Datei ist "{0}".</ErrorText>
|
||||
</PropertyGroup>
|
||||
<Error Condition="!Exists('..\packages\Mono.Posix.5.4.0.201\build\net45\Mono.Posix.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Mono.Posix.5.4.0.201\build\net45\Mono.Posix.targets'))" />
|
||||
</Target>
|
||||
</Project>
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1,4 +1,4 @@
|
||||
[modul]
|
||||
[modul]
|
||||
config=public
|
||||
|
||||
[cold]
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
[modul]
|
||||
[modul]
|
||||
config=private
|
||||
|
||||
[settings]
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
[names]
|
||||
[names]
|
||||
2-0-37=Kühlschrank Schalter
|
||||
2-0-49-4=Kühlschrank Leistung
|
||||
2-0-50-0=Kühlschrank Verbrauch [kWh]
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
[hot]
|
||||
[hot]
|
||||
from=7-0-67-1:Level
|
||||
to=8-0-67-1:Level;9-0-67-1:Level
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
[modul]
|
||||
[modul]
|
||||
config=private
|
||||
|
||||
[settings]
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
[zway]
|
||||
[zway]
|
||||
server=localhost
|
||||
user=admin
|
||||
pass=pass
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
[temp]
|
||||
[temp]
|
||||
cron=30 * * * *
|
||||
devices=7-0-49-1,8-0-49-1,9-0-49-1,10-0-49-1,11-0-49-1
|
||||
@@ -1,92 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Read Settings
|
||||
DIR=`dirname $0`
|
||||
source $DIR/settings.cfg
|
||||
cd $control_root
|
||||
|
||||
|
||||
for(( ; ; ))
|
||||
do
|
||||
# Test for Running Servers
|
||||
servers=$(./view.sh | grep $screen_name)
|
||||
|
||||
clear
|
||||
|
||||
if [[ -z $servers ]];
|
||||
then
|
||||
echo "Zway-Bot not Running!"
|
||||
echo ""
|
||||
echo "1) Start Zway-Bot"
|
||||
|
||||
else
|
||||
echo "Zway-Bot is Running :)"
|
||||
echo ""
|
||||
echo "2) Stop Zway-Bot"
|
||||
echo "3) Restart Zway-Bot"
|
||||
echo "4) Attach to Servers Screen-Session"
|
||||
echo "5) Put Command to Zway-Bot"
|
||||
fi
|
||||
|
||||
echo "q) Quit"
|
||||
echo ""
|
||||
read -p "Choice: " choice
|
||||
|
||||
case "$choice" in
|
||||
q) #Quit
|
||||
exit 0
|
||||
;;
|
||||
1) #Start Server
|
||||
if [[ -z $servers ]];
|
||||
then
|
||||
echo "Starting Zway-Bot..."
|
||||
./start.sh
|
||||
else
|
||||
echo "Zway-Bot Allready started!"
|
||||
fi
|
||||
;;
|
||||
|
||||
2) #Stop Server
|
||||
if [[ -z $servers ]];
|
||||
then
|
||||
echo "Zway-Bot is not Running!"
|
||||
else
|
||||
echo "Stopping Zway-Bot..."
|
||||
./stop.sh
|
||||
fi
|
||||
;;
|
||||
|
||||
3) #Restart Server
|
||||
if [[ -z $servers ]];
|
||||
then
|
||||
echo "Zway-Bot is not Running!"
|
||||
else
|
||||
echo "Restarting Zway-Bot..."
|
||||
./restart.sh
|
||||
fi
|
||||
;;
|
||||
|
||||
4) #Attach to Screen
|
||||
if [[ -z $servers ]];
|
||||
then
|
||||
echo "Zway-Bot is not Running!"
|
||||
else
|
||||
./join.sh
|
||||
fi
|
||||
;;
|
||||
|
||||
5) #Put Command to Server
|
||||
if [[ -z $servers ]];
|
||||
then
|
||||
echo "Zway-Bot is not Running!"
|
||||
else
|
||||
read -p "Please enter Zway-Bot-Command: " mc_cmd
|
||||
./stuff.sh "$mc_cmd"
|
||||
fi
|
||||
;;
|
||||
|
||||
*) #Invalid Selection
|
||||
echo "Wrong Selection!"
|
||||
;;
|
||||
esac
|
||||
done
|
||||
@@ -1,10 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Read Settings
|
||||
DIR=`dirname $0`
|
||||
source $DIR/settings.cfg
|
||||
|
||||
echo Press STRG+A then D to detach from Console
|
||||
read -p "Press [Enter] to continue..."
|
||||
|
||||
screen -R $screen_name
|
||||
@@ -1,21 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Read Settings
|
||||
DIR=`dirname $0`
|
||||
source $DIR/settings.cfg
|
||||
|
||||
rm $control_root/stop_server.info
|
||||
|
||||
for(( ; ; ))
|
||||
do
|
||||
if [ ! -e $control_root/stop_server.info ];
|
||||
then
|
||||
cd $mc_root
|
||||
$mc_cmd
|
||||
else
|
||||
echo "Stopped Server!"
|
||||
break
|
||||
fi
|
||||
done
|
||||
|
||||
rm $control_root/stop_server.info
|
||||
@@ -1,28 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Read Settings
|
||||
DIR=`dirname $0`
|
||||
source $DIR/settings.cfg
|
||||
cd $control_root
|
||||
|
||||
# Be Shure theere is no Stop-Info
|
||||
rm $control_root/stop_server.info
|
||||
|
||||
echo "Server will be restarted in 5 Seconds..."
|
||||
./stuff.sh "/say ReStarting Server in 5 seconds!"
|
||||
sleep 1
|
||||
echo "4..."
|
||||
./stuff.sh "/say 4..."
|
||||
sleep 1
|
||||
echo "3..."
|
||||
./stuff.sh "/say 3..."
|
||||
sleep 1
|
||||
echo "2..."
|
||||
./stuff.sh "/say 2..."
|
||||
sleep 1
|
||||
echo "1..."
|
||||
./stuff.sh "/say 1..."
|
||||
sleep 1
|
||||
echo "Restarting Server..."
|
||||
./stuff.sh "/say Restart Now!"
|
||||
./stuff.sh "stop"
|
||||
@@ -1,23 +0,0 @@
|
||||
#!/bin/bash
|
||||
# Minecraft Control-Scripts Config-File
|
||||
|
||||
# (please remember that there are no spaces allowed around the =-Sign
|
||||
# in the config-lines)
|
||||
|
||||
# Minecraft-Dir & JAR
|
||||
|
||||
# Directory where minecraft is in
|
||||
mc_root="/home/pi/Zway-Bot"
|
||||
|
||||
# Root of Control-Scripts
|
||||
control_root="$mc_root/control"
|
||||
|
||||
|
||||
# MC-Server-Jar (will be executed in mc_root)
|
||||
mc_jar="$mc_root/Zway-Bot.exe"
|
||||
|
||||
# MC-Server Start-Command
|
||||
mc_cmd="mono $mc_jar"
|
||||
|
||||
# Screen
|
||||
screen_name="Zway-Bot"
|
||||
@@ -1,14 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Read Settings
|
||||
DIR=`dirname $0`
|
||||
source $DIR/settings.cfg
|
||||
|
||||
# Start Loop in Screen
|
||||
screen -A -m -d -S $screen_name $control_root/loop.sh
|
||||
|
||||
# Allow other users to control this screen-Session!
|
||||
screen -r $screen_name -X multiuser on
|
||||
screen -r $screen_name -X addacl www-data
|
||||
screen -r $screen_name -X addacl mc
|
||||
screen -r $screen_name -X addacl mw
|
||||
@@ -1,13 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Read Settings
|
||||
DIR=`dirname $0`
|
||||
source $DIR/settings.cfg
|
||||
cd $control_root
|
||||
|
||||
# Create Stop-Info!
|
||||
touch $control_root/stop_server.info
|
||||
|
||||
echo "Shuting Down Server..."
|
||||
./stuff.sh "/exit"
|
||||
screen -R $screen_name
|
||||
@@ -1,10 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Read Settings
|
||||
DIR=`dirname $0`
|
||||
source $DIR/settings.cfg
|
||||
|
||||
# screen -r $screen_name -X stuff "$1\n"
|
||||
|
||||
screen -p 0 -S $screen_name -X eval "stuff '$1'\015"
|
||||
# as_user "screen -p 0 -S minecraft -X eval 'stuff \"$command\"\015'"
|
||||
@@ -1,3 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
screen -ls
|
||||
Binary file not shown.
@@ -1,4 +1,4 @@
|
||||
[modul]
|
||||
[modul]
|
||||
config=public
|
||||
|
||||
[cold]
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
[modul]
|
||||
[modul]
|
||||
config=private
|
||||
|
||||
[settings]
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
[names]
|
||||
[names]
|
||||
2-0-37=Kühlschrank Schalter
|
||||
2-0-49-4=Kühlschrank Leistung
|
||||
2-0-50-0=Kühlschrank Verbrauch [kWh]
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
[hot]
|
||||
[hot]
|
||||
from=7-0-67-1:Level
|
||||
to=8-0-67-1:Level;9-0-67-1:Level
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
[modul]
|
||||
[modul]
|
||||
config=private
|
||||
|
||||
[settings]
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
[zway]
|
||||
[zway]
|
||||
server=localhost
|
||||
user=admin
|
||||
pass=pass
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
[temp]
|
||||
[temp]
|
||||
cron=30 * * * *
|
||||
devices=7-0-49-1,8-0-49-1,9-0-49-1,10-0-49-1,11-0-49-1
|
||||
@@ -1,92 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Read Settings
|
||||
DIR=`dirname $0`
|
||||
source $DIR/settings.cfg
|
||||
cd $control_root
|
||||
|
||||
|
||||
for(( ; ; ))
|
||||
do
|
||||
# Test for Running Servers
|
||||
servers=$(./view.sh | grep $screen_name)
|
||||
|
||||
clear
|
||||
|
||||
if [[ -z $servers ]];
|
||||
then
|
||||
echo "Zway-Bot not Running!"
|
||||
echo ""
|
||||
echo "1) Start Zway-Bot"
|
||||
|
||||
else
|
||||
echo "Zway-Bot is Running :)"
|
||||
echo ""
|
||||
echo "2) Stop Zway-Bot"
|
||||
echo "3) Restart Zway-Bot"
|
||||
echo "4) Attach to Servers Screen-Session"
|
||||
echo "5) Put Command to Zway-Bot"
|
||||
fi
|
||||
|
||||
echo "q) Quit"
|
||||
echo ""
|
||||
read -p "Choice: " choice
|
||||
|
||||
case "$choice" in
|
||||
q) #Quit
|
||||
exit 0
|
||||
;;
|
||||
1) #Start Server
|
||||
if [[ -z $servers ]];
|
||||
then
|
||||
echo "Starting Zway-Bot..."
|
||||
./start.sh
|
||||
else
|
||||
echo "Zway-Bot Allready started!"
|
||||
fi
|
||||
;;
|
||||
|
||||
2) #Stop Server
|
||||
if [[ -z $servers ]];
|
||||
then
|
||||
echo "Zway-Bot is not Running!"
|
||||
else
|
||||
echo "Stopping Zway-Bot..."
|
||||
./stop.sh
|
||||
fi
|
||||
;;
|
||||
|
||||
3) #Restart Server
|
||||
if [[ -z $servers ]];
|
||||
then
|
||||
echo "Zway-Bot is not Running!"
|
||||
else
|
||||
echo "Restarting Zway-Bot..."
|
||||
./restart.sh
|
||||
fi
|
||||
;;
|
||||
|
||||
4) #Attach to Screen
|
||||
if [[ -z $servers ]];
|
||||
then
|
||||
echo "Zway-Bot is not Running!"
|
||||
else
|
||||
./join.sh
|
||||
fi
|
||||
;;
|
||||
|
||||
5) #Put Command to Server
|
||||
if [[ -z $servers ]];
|
||||
then
|
||||
echo "Zway-Bot is not Running!"
|
||||
else
|
||||
read -p "Please enter Zway-Bot-Command: " mc_cmd
|
||||
./stuff.sh "$mc_cmd"
|
||||
fi
|
||||
;;
|
||||
|
||||
*) #Invalid Selection
|
||||
echo "Wrong Selection!"
|
||||
;;
|
||||
esac
|
||||
done
|
||||
@@ -1,10 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Read Settings
|
||||
DIR=`dirname $0`
|
||||
source $DIR/settings.cfg
|
||||
|
||||
echo Press STRG+A then D to detach from Console
|
||||
read -p "Press [Enter] to continue..."
|
||||
|
||||
screen -R $screen_name
|
||||
@@ -1,21 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Read Settings
|
||||
DIR=`dirname $0`
|
||||
source $DIR/settings.cfg
|
||||
|
||||
rm $control_root/stop_server.info
|
||||
|
||||
for(( ; ; ))
|
||||
do
|
||||
if [ ! -e $control_root/stop_server.info ];
|
||||
then
|
||||
cd $mc_root
|
||||
$mc_cmd
|
||||
else
|
||||
echo "Stopped Server!"
|
||||
break
|
||||
fi
|
||||
done
|
||||
|
||||
rm $control_root/stop_server.info
|
||||
@@ -1,28 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Read Settings
|
||||
DIR=`dirname $0`
|
||||
source $DIR/settings.cfg
|
||||
cd $control_root
|
||||
|
||||
# Be Shure theere is no Stop-Info
|
||||
rm $control_root/stop_server.info
|
||||
|
||||
echo "Server will be restarted in 5 Seconds..."
|
||||
./stuff.sh "/say ReStarting Server in 5 seconds!"
|
||||
sleep 1
|
||||
echo "4..."
|
||||
./stuff.sh "/say 4..."
|
||||
sleep 1
|
||||
echo "3..."
|
||||
./stuff.sh "/say 3..."
|
||||
sleep 1
|
||||
echo "2..."
|
||||
./stuff.sh "/say 2..."
|
||||
sleep 1
|
||||
echo "1..."
|
||||
./stuff.sh "/say 1..."
|
||||
sleep 1
|
||||
echo "Restarting Server..."
|
||||
./stuff.sh "/say Restart Now!"
|
||||
./stuff.sh "stop"
|
||||
@@ -1,23 +0,0 @@
|
||||
#!/bin/bash
|
||||
# Minecraft Control-Scripts Config-File
|
||||
|
||||
# (please remember that there are no spaces allowed around the =-Sign
|
||||
# in the config-lines)
|
||||
|
||||
# Minecraft-Dir & JAR
|
||||
|
||||
# Directory where minecraft is in
|
||||
mc_root="/home/pi/Zway-Bot"
|
||||
|
||||
# Root of Control-Scripts
|
||||
control_root="$mc_root/control"
|
||||
|
||||
|
||||
# MC-Server-Jar (will be executed in mc_root)
|
||||
mc_jar="$mc_root/Zway-Bot.exe"
|
||||
|
||||
# MC-Server Start-Command
|
||||
mc_cmd="mono $mc_jar"
|
||||
|
||||
# Screen
|
||||
screen_name="Zway-Bot"
|
||||
@@ -1,14 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Read Settings
|
||||
DIR=`dirname $0`
|
||||
source $DIR/settings.cfg
|
||||
|
||||
# Start Loop in Screen
|
||||
screen -A -m -d -S $screen_name $control_root/loop.sh
|
||||
|
||||
# Allow other users to control this screen-Session!
|
||||
screen -r $screen_name -X multiuser on
|
||||
screen -r $screen_name -X addacl www-data
|
||||
screen -r $screen_name -X addacl mc
|
||||
screen -r $screen_name -X addacl mw
|
||||
@@ -1,13 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Read Settings
|
||||
DIR=`dirname $0`
|
||||
source $DIR/settings.cfg
|
||||
cd $control_root
|
||||
|
||||
# Create Stop-Info!
|
||||
touch $control_root/stop_server.info
|
||||
|
||||
echo "Shuting Down Server..."
|
||||
./stuff.sh "/exit"
|
||||
screen -R $screen_name
|
||||
@@ -1,10 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Read Settings
|
||||
DIR=`dirname $0`
|
||||
source $DIR/settings.cfg
|
||||
|
||||
# screen -r $screen_name -X stuff "$1\n"
|
||||
|
||||
screen -p 0 -S $screen_name -X eval "stuff '$1'\015"
|
||||
# as_user "screen -p 0 -S minecraft -X eval 'stuff \"$command\"\015'"
|
||||
@@ -1,3 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
screen -ls
|
||||
@@ -2,7 +2,7 @@ Package: zwaybot
|
||||
Version: x.x-x
|
||||
Section: base
|
||||
Priority: optional
|
||||
Architecture: i386
|
||||
Architecture: any
|
||||
Depends: mono-complete (>= 5.4.1.6)
|
||||
Maintainer: BlubbFish <dev@blubbfish.net>
|
||||
Description: Zway-Bot
|
||||
|
||||
@@ -1,6 +1 @@
|
||||
set /P maj=Enter Major Version:
|
||||
set /P min=Enter Minor Version:
|
||||
set /P bui=Enter Build Version:
|
||||
|
||||
bash.exe -c "./make-deb.sh %maj% %min% %bui%"
|
||||
pause
|
||||
bash.exe -c "./make-deb.sh armhf"
|
||||
+25
-10
@@ -1,34 +1,49 @@
|
||||
#!/bin/bash
|
||||
WORKDIR="/home/blubb"
|
||||
ROOT="$WORKDIR/deb"
|
||||
|
||||
HOMEDIR="/home/blubb"
|
||||
ROOT="$HOMEDIR/deb"
|
||||
OUTPUT="../bin/Release"
|
||||
|
||||
EXEC="$ROOT/usr/local/bin/zwaybot"
|
||||
CONFIG="$ROOT/etc/zwaybot"
|
||||
SYSTEMD="$ROOT/etc/systemd/system"
|
||||
LOGROTATE="$ROOT/etc/logrotate.d"
|
||||
|
||||
DEBIAN="$ROOT/DEBIAN"
|
||||
VMAJOR=$1
|
||||
VMINOR=$2
|
||||
VBUILD=$3
|
||||
VMAJOR=$(grep -e "^\[assembly: AssemblyVersion(\"" ../Properties/AssemblyInfo.cs | cut -d'"' -f 2 | cut -d'.' -f 1)
|
||||
VMINOR=$(grep -e "^\[assembly: AssemblyVersion(\"" ../Properties/AssemblyInfo.cs | cut -d'"' -f 2 | cut -d'.' -f 2)
|
||||
VBUILD=$(grep -e "^\[assembly: AssemblyVersion(\"" ../Properties/AssemblyInfo.cs | cut -d'"' -f 2 | cut -d'.' -f 3)
|
||||
ARCHT=$1
|
||||
|
||||
mkdir -p $EXEC
|
||||
mkdir -p $CONFIG
|
||||
mkdir -p $DEBIAN
|
||||
mkdir -p $SYSTEMD
|
||||
mkdir -p $LOGROTATE
|
||||
|
||||
cp control $DEBIAN
|
||||
cp preinst $DEBIAN
|
||||
cp postinst $DEBIAN
|
||||
cp prerm $DEBIAN
|
||||
sed -i s/Version:\ x\.x-x/"Version: $VMAJOR.$VMINOR-$VBUILD"/ $DEBIAN/control
|
||||
sed -i s/Architecture:\ any/"Architecture: $ARCHT"/ $DEBIAN/control
|
||||
chmod 755 $DEBIAN -R
|
||||
|
||||
cp zwaybot.service $SYSTEMD
|
||||
chmod 755 $SYSTEMD -R
|
||||
chmod 644 $SYSTEMD/zwaybot.service
|
||||
|
||||
cp $OUTPUT/*.exe $EXEC/
|
||||
cp $OUTPUT/*.dll $EXEC/
|
||||
find $OUTPUT -name \*.dll ! -name Mono.Posix.dll -exec cp {} $EXEC/ \;
|
||||
chmod 644 $EXEC/*
|
||||
chmod 755 $EXEC
|
||||
|
||||
cp $OUTPUT/config-example/* $CONFIG
|
||||
cp $OUTPUT/control $EXEC/ -r
|
||||
chmod 644 $CONFIG/*
|
||||
chmod 755 $CONFIG
|
||||
|
||||
cp zwaybot-logrotate $LOGROTATE/zwaybot
|
||||
chmod 644 $LOGROTATE/*
|
||||
|
||||
dpkg-deb --build $ROOT
|
||||
mv $WORKDIR/deb.deb ../bin/Builds/"zwaybot_$VMAJOR.$VMINOR-$VBUILD.deb"
|
||||
rm $WORKDIR/deb -r
|
||||
mv $HOMEDIR/deb.deb ../../../Builds/"$ARCHT-zwaybot_$VMAJOR.$VMINOR-$VBUILD.deb"
|
||||
rm $HOMEDIR/deb -r
|
||||
@@ -0,0 +1,4 @@
|
||||
#!/bin/sh
|
||||
|
||||
systemctl daemon-reload
|
||||
sudo systemctl is-active --quiet zwaybot && service zwaybot restart
|
||||
@@ -1,4 +1,6 @@
|
||||
#!/bin/sh
|
||||
|
||||
service zwaybot stop
|
||||
adduser --system zwaybot
|
||||
useradd -M zwaybot
|
||||
usermod -L zwaybot
|
||||
groupadd zwaybot
|
||||
usermod -G zwaybot,adm zwaybot
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
/var/log/zwaybot.log {
|
||||
compress
|
||||
copytruncate
|
||||
daily
|
||||
delaycompress
|
||||
missingok
|
||||
notifempty
|
||||
rotate 4
|
||||
size=10M
|
||||
}
|
||||
@@ -8,9 +8,12 @@ After=network-online.target
|
||||
User=zwaybot
|
||||
Group=zwaybot
|
||||
WorkingDirectory=/usr/local/bin/zwaybot
|
||||
# ExecStartPre=/bin/rm /var/log/zwaybot.log && /bin/touch /var/log/zwaybot.log && /bin/chown zwaybot:zwaybot /var/log/zwaybot.log && /bin/chmod 644 /var/log/zwaybot.log
|
||||
ExecStart=/usr/bin/mono /usr/local/bin/zwaybot/Zway-Bot.exe
|
||||
KillMode=control-group
|
||||
Restart=on-failure
|
||||
StandardOutput=null
|
||||
StandardError=syslog+journal
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<packages>
|
||||
<package id="Mono.Posix" version="5.4.0.201" targetFramework="net471" />
|
||||
</packages>
|
||||
Reference in New Issue
Block a user