Beispiel #1
0
        public void LoadSVTServerDll()
        {
            this.pSVTServerDll = LoadLibrary(@"SVTServer.dll");
            if (pSVTServerDll == IntPtr.Zero)
            {
                Log.Write("Fail to load library: {0}", GetLastError());
                return;
            }

            IntPtr pRunInterface = GetProcAddress(pSVTServerDll, "runInterface");

            if (pRunInterface == IntPtr.Zero)
            {
                Log.Write("Fail to find DLL function: runInterface: {0}", GetLastError());
                return;
            }
            this.runInterface = (runInterfaceHandler)Marshal.GetDelegateForFunctionPointer(
                pRunInterface,
                typeof(runInterfaceHandler));

            IntPtr pCommand = GetProcAddress(pSVTServerDll, "command");

            if (pCommand == IntPtr.Zero)
            {
                Log.Write("Fail to find DLL function: command: {0}", GetLastError());
                return;
            }
            this.command = (commandHandler)Marshal.GetDelegateForFunctionPointer(
                pCommand,
                typeof(commandHandler));

            Log.Write("SVT Server DLL loaded successfully");
            this.isGood = true;
        }
Beispiel #2
0
        private void handle()
        {
            functions func = new functions();

            Message = socket.readString();
            commandHandler ch = new commandHandler(socket, mainform, func.strip_codes(Message));

            handleColors(Message);
            if (mainform.ircmode == 2 || mainform.ircmode == 3)
            {
                string[] args     = Message.Split(' ');
                string   username = args[0].Replace("<", "").Replace(">", "").Replace(":", "").Replace(" ", "");
                username = func.strip_codes(username);
                if (!(username == mainform.username && Message.Contains("IRC: <")))
                {
                    mainform.ircmessage(mainform.translate_colors(Message));
                }
            }
        }
Beispiel #3
0
        private void handle()
        {
            functions func = new functions();
            string    name = "", message = "", type = "", color = "", style = "";

            Message = socket.readString();
            var root = JObject.Parse(Message);

            foreach (KeyValuePair <String, JToken> app in root)
            {
                var appName = app.Key;

                switch (appName)
                {
                case "text":
                    message = app.Value.ToString();
                    if (message.Contains(" "))
                    {
                        name = func.strip_codes(message.Substring(0, message.IndexOf(" ")).Replace("<", "").Replace(">", "").Replace(":", "").Replace(" ", ""));
                    }
                    type = "chat";
                    break;

                case "translate":
                    type = app.Value.ToString();
                    break;

                case "using":
                    name    = app.Value.First.ToString();
                    message = app.Value.Last.ToString();
                    break;

                case "color":
                    color = app.Value.ToString();
                    break;

                case "italic":
                    if (app.Value.ToString() == "true")
                    {
                        style = "italic";
                    }
                    break;
                }
                if (type == "chat.type.admin")
                {
                    if (app.Value.HasValues == true)
                    {
                        name = app.Value[0].ToString();
                        JObject thisObj = JObject.Parse(app.Value[1].ToString());

                        foreach (KeyValuePair <String, JToken> part in thisObj)
                        {
                            var topName = part.Key;

                            switch (topName)
                            {
                            case "translate":
                                type = part.Value.ToString();
                                break;

                            case "using":
                                message = part.Value.First.ToString();
                                name    = part.Value.Last.ToString();
                                break;
                            }
                        }
                    }
                }
            }

            // Now with the JSON Parsed, we have to add some special message cases.
            switch (type)
            {
            case "multiplayer.player.joined":
                message = name + " Joined the server";
                break;

            case "multiplayer.player.left":
                message = name + " Left the server";
                break;

            case "death.attack.outOfWorld":
                message = name + " fell out of the world!";
                break;

            case "death.attack.explosion.player":
                message = name + " was blown up by " + message;
                break;

            case "death.attack.mob":
                message = name + " was killed by a " + message;
                break;

            case "chat.type.text":
                message = name + ": " + message;
                commandHandler ch = new commandHandler(socket, mainform, name, message);
                break;

            case "chat":
                commandHandler h = new commandHandler(socket, mainform, name, message);
                break;

            case "chat.type.emote":
                message = "§d" + name + " " + message;
                break;

            case "chat.type.announcement":
                message = "§d[" + name + "]:§f " + message;
                break;

            case "commands.tp.success":
                message = name + " teleported to " + message;
                break;

            case "commands.op.success":
                message = name + " was promoted to Op";
                break;

            default:
                message = Message;
                break;
            }
            if (color != "")
            {
                message = convertCode(message, color);
            }


            handleColors(message, style);
            if (mainform.ircmode == 2 || mainform.ircmode == 3)
            {
                string[] args     = message.Split(' ');
                string   username = args[0].Replace("<", "").Replace(">", "").Replace(":", "").Replace(" ", "");
                username = func.strip_codes(username);
                if (!(username == mainform.username && message.Contains("IRC: <")))
                {
                    mainform.ircmessage(mainform.translate_colors(message));
                }
            }
        }
Beispiel #4
0
        private void handle()
        {
            functions func = new functions();
            string name = "", message = "", type = "", color = "", style = "";
            Message = socket.readString();
            var root = JObject.Parse(Message);

                foreach (KeyValuePair<String, JToken> app in root) {
                    var appName = app.Key;

                    switch (appName) {
                        case "text":
                            message = app.Value.ToString();
                            if (message.Contains(" "))
                                name = func.strip_codes(message.Substring(0, message.IndexOf(" ")).Replace("<", "").Replace(">", "").Replace(":", "").Replace(" ", ""));
                            type = "chat";
                            break;
                        case "translate":
                            type = app.Value.ToString();
                            break;
                        case "using":
                            name = app.Value.First.ToString();
                            message = app.Value.Last.ToString();
                            break;
                        case "color":
                            color = app.Value.ToString();
                            break;
                        case "italic":
                            if (app.Value.ToString() == "true")
                                style = "italic";
                            break;
                    }
                    if (type == "chat.type.admin") {
                        if (app.Value.HasValues == true) {
                            name = app.Value[0].ToString();
                            JObject thisObj = JObject.Parse(app.Value[1].ToString());

                            foreach (KeyValuePair<String, JToken> part in thisObj) {
                                var topName = part.Key;

                                switch (topName) {
                                    case "translate":
                                        type = part.Value.ToString();
                                        break;
                                    case "using":
                                        message = part.Value.First.ToString();
                                        name = part.Value.Last.ToString();
                                        break;
                                }
                            }
                        }
                    }
                }

                // Now with the JSON Parsed, we have to add some special message cases.
                switch (type) {
                    case "multiplayer.player.joined":
                        message = name + " Joined the server";
                        break;
                    case "multiplayer.player.left":
                        message = name + " Left the server";
                        break;
                    case "death.attack.outOfWorld":
                        message = name + " fell out of the world!";
                        break;
                    case "death.attack.explosion.player":
                        message = name + " was blown up by " + message;
                        break;
                    case "death.attack.mob":
                        message = name + " was killed by a " + message;
                        break;
                    case "chat.type.text":
                        message = name + ": " + message;
                        commandHandler ch = new commandHandler(socket, mainform, name, message);
                        break;
                    case "chat":
                        commandHandler h = new commandHandler(socket, mainform, name, message);
                        break;
                    case "chat.type.emote":
                        message = "§d" + name + " " + message;
                        break;
                    case "chat.type.announcement":
                        message = "§d[" + name + "]:§f " + message;
                        break;
                    case "commands.tp.success":
                        message = name + " teleported to " + message;
                        break;
                    case "commands.op.success":
                        message = name + " was promoted to Op";
                        break;
                    default:
                        message = Message;
                        break;
                }
                if (color != "")
                    message = convertCode(message, color);

            handleColors(message,style);
            if (mainform.ircmode == 2 || mainform.ircmode == 3)
            {
                string[] args = message.Split(' ');
                string username = args[0].Replace("<", "").Replace(">", "").Replace(":", "").Replace(" ", "");
                username = func.strip_codes(username);
                if (!(username == mainform.username && message.Contains("IRC: <")))
                 mainform.ircmessage(mainform.translate_colors(message));
            }
        }