summaryrefslogtreecommitdiff
path: root/DiscoBot/ServerControl.cs
blob: 58da9fb6071d65b821593a41b8ccf180ba72e5e8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Diagnostics;
using System.IO;

namespace DiscoBot
{
    class ServerControl
    {
        Process FTBProcess = new Process();
        ConsoleAppManager manager;

        public ServerControl()
        {
            manager = new ConsoleAppManager(DiscoBot.Properties.Settings.Default.ServerPaht + @"\ServerStart.bat");

            FTBProcess.StartInfo.FileName = /*@"C:\Program Files\Java\jdk1.8.0_101\jre\bin\java.exe";//*/DiscoBot.Properties.Settings.Default.ServerPaht + @"\ServerStart.bat";
            //FTBProcess.StartInfo.Arguments = @"-server -Xms512M -Xmx6G -XX:PermSize=256M -XX:+UseParNewGC -XX:+CMSIncrementalPacing -XX:+CMSClassUnloadingEnabled -XX:ParallelGCThreads=2 -XX:MinHeapFreeRatio=5 -XX:MaxHeapFreeRatio=10 -jar C:\Users\Dennis\Downloads\FTBBeyondServer\minecraft_server.1.10.2.jar nogui";
            FTBProcess.StartInfo.WorkingDirectory = /*@"C:\Program Files\Java\jdk1.8.0_101\jre\bin";*/Properties.Settings.Default.ServerPaht;
            

            
        }
        

        private void Refresh()
        {
            while(true)
                Console.WriteLine(FTBProcess.StandardOutput.ReadToEnd());
        }

        public void Start()
        {
            FTBProcess.Start();
            new System.Threading.Thread(Refresh).Start();

        }


        public void Command(string c)
        {
            FTBProcess.StandardInput.WriteLine(c);
        }

        public void Stop()
        {
            Process[] myProcesses;
            myProcesses = Process.GetProcessesByName("java");
            foreach (Process p in myProcesses)
                p.Kill();

            
        }
        
    }
}