Example #1
0
        static void Main(string[] args)
        {
            try
            {
                Console.Title = "TechBrain";

                Trace.Listeners.Add(new TextWriterTraceListener(Console.Out));

                var config    = DevServerConfig.ReadFromFile();
                var devServer = new DevServer(config);
                devServer.Start();

                var devices = devServer.DeviceRepository.GetAll();
                Console.Title = "TechBrain - Started";
                Console.ReadLine();
                //while (true)
                //{

                //}

                config.SaveToFile();
                devServer.DeviceRepository.Commit();
            }
            catch (Exception ex)
            {
                Trace.WriteLine(ex);
            }
        }
    public void WhenOpeningANewWebPage()
    {
        WebDevServer = new DevServer();
        WebDevServer.Start();

        _driver = new PhantomJSDriver();
        _driver.Navigate().GoToUrl(@"localhost");
    }
        public void OnClientEvent(Client player, string eventName, params object[] arguments)
        {
            if (eventName.Equals("onClientStartLogin"))
            {
                string password = (string)arguments[0];

                MySqlCommand doesPlayerExistInDb = TTRPG.Mysql.Conn.CreateCommand();

                doesPlayerExistInDb.CommandText = "SELECT * FROM user WHERE Nickname = @nickname";
                doesPlayerExistInDb.Parameters.AddWithValue("@nickname", player.name);

                DataTable result = new DataTable();

                result.Load(doesPlayerExistInDb.ExecuteReader());

                string salt       = (string)result.Rows[0]["Salt"];
                string dbPassword = (string)result.Rows[0]["Password"];

                if (PasswordHelper.Hash(password, salt).Equals(dbPassword))
                {
                    // Password was correct and now Update fingerprint and last login
                    // before starting Login process
                    if (!DevServer.CheckDevServerLogin(player, result.Rows[0]))
                    {
                        MySqlCommand updateUserEntryCommand = TTRPG.Mysql.Conn.CreateCommand();
                        updateUserEntryCommand.CommandText =
                            "UPDATE user SET Last_Fingerprint = @fingerprint, Last_Login=current_timestamp() WHERE Nickname=@nickname";
                        updateUserEntryCommand.Parameters.AddWithValue("fingerprint",
                                                                       player.getSyncedData("fingerprint"));
                        updateUserEntryCommand.Parameters.AddWithValue("nickname", player.name);

                        updateUserEntryCommand.ExecuteNonQuery();

                        EnsureAllDatabaseTableEntries((Int32)result.Rows[0]["ID"]);
                        StartLoginProcess(player, result.Rows[0]);

                        player.setSyncedData("loggedin", true);
                        API.consoleOutput("Account " + player.name + "(" + player.getSyncedData("ID") + ") logged in.");
                        player.invincible = false;
                        PlayerSpawnManager.Spawn(player);

                        TTRPG.Api.exported.scoreboard.setPlayerScoreboardData(player, "ID", result.Rows[0]["ID"].ToString());
                        TTRPG.Api.exported.scoreboard.setPlayerScoreboardData(player, "Nickname", player.name);

                        MoneyManager.RefreshPlayerMoneyDisplay(player);
                        RpLevelManager.CalculateAndSetLevelOfPlayer(player);
                        RpLevelManager.RefreshPlayerRpAndLevelDisplay(player);
                        UpdatePlayerPlayTime.UpdatePlayerPlayTimeDisplay(player);
                    }
                }
                else
                {
                    player.sendNotification("System-Error", "Das Passwort, dass du eingegeben hast, ist fehlerhaft.",
                                            false);
                    player.triggerEvent("startLogin", player.name);
                }
            }
        }
        protected IHost CreateWebHost()
        {
            var host = "127.0.0.1";

            var args = new List <string>
            {
                "--urls", $"http://{host}:0",
                "--contentroot", ContentRoot,
                "--pathbase", PathBase,
            };

            return(DevServer.BuildWebHost(args.ToArray()));
        }
Example #5
0
        static void Main(string[] args)
        {
            try
            {
                Console.Title = "Simulator_TechBrain";
                Trace.Listeners.Add(new TextWriterTraceListener(Console.Out));

                var config    = DevServerConfig.ReadFromFile();
                var devServer = new DevServer(config);
                if (devServer.DeviceRepository.Count == 0)
                {
                    devServer = new DevServer(config, Simulator.GenerateNewDevices(config));
                }
                devServer.Start();

                var devices = devServer.DeviceRepository.GetAll();
                var sim     = new Simulator(config, devices);
                sim.Start();
                foreach (var dev in devices)
                {
                    dev.IpPort    = config.Esp_TcpPort;
                    dev.SleepTime = null;
                }

                Thread.Sleep(100);
                devServer.PauseScan();
                while (true)
                {
                    sim.EspSend(devices[0].SerialNumber);
                    sim.EspSend(devices[1].SerialNumber);
                    Wrap("ping Esp", () => devices[0].Ping(), () => devices[0].IsOnline.ToStringNull());
                    Wrap("ping Esp_Avr", () => devices[1].Ping(), () => devices[0].IsOnline.ToStringNull());
                    Wrap("time Esp_Avr", () => devices[1].SetTime(DateTime.Now));
                    Wrap("sensors Esp_Avr", () => devices[1].UpdateSensors(), () => "=>" + Extender.JoinToString("; ", devices[1].Sensors.Select(v => v.Value as object)));
                    Wrap("outputs Esp", () => devices[0].SetOut(1, 23));
                    Wrap("outputs Esp_Avr", () => devices[1].SetOut(1, 100));
                    Wrap("sleep Esp", () => devices[0].Sleep(TimeSpan.FromSeconds(10)));
                    Wrap("sleep Esp_Avr", () => devices[1].Sleep(TimeSpan.FromSeconds(40)));

                    devServer.DeviceRepository.Commit();
                    Console.ReadLine();
                }
            }
            catch (Exception ex)
            {
                Trace.WriteLine(ex);
            }
        }
 public DeviceController(DevServer devServer)
 {
     DevServer = devServer;
 }