Welcome, guest! Please login or register.

    * Shoutbox

    RefreshHistory
    • Striker Fox2: Much more on General Board
      Today at 04:30:25 AM
    • Striker Fox2: New price guide link [link]
      Today at 04:30:18 AM
    • Striker Fox2: New discord link [link]
      Today at 04:30:03 AM
    • Saltyspade10: If you are new and reading this, stick around becaus it's a great server and community! Hope to see you in-game :)
      Today at 02:44:16 AM
    • damian6: hello i wanne buy this server can u add me
      October 20, 2017, 03:54:38 PM
    • Wilkooo: lol jks
      October 20, 2017, 02:39:53 PM
    • Wilkooo: ilyall
      October 20, 2017, 02:39:48 PM
    • tm4dz: why cant i see any download links??
      October 20, 2017, 10:46:55 AM
    • stCky: u dont need to its fudgeing sick
      October 19, 2017, 08:13:13 PM
    • odin stormborn: how do i change my username
      October 19, 2017, 12:16:51 PM
    • qazplm102938: everyone play manicps its best server out there loads to do its badboyyyy - manicps manicps shout out kiteshield
      October 19, 2017, 10:28:21 AM
    • qazplm102938: everyone play manicps its best server out there loads to do its badboyyyy - manicps manicps
      October 19, 2017, 10:11:08 AM
    • Travas: wtf
      October 19, 2017, 07:37:52 AM
    • stCky: Adaro, you are a threat to the communities image, yes
      October 18, 2017, 02:53:43 PM
    • Krackkid: Hello everyone it is I, Krackkid.
      October 18, 2017, 07:21:56 AM
    • soma_: Does anyone have an updated link to a blank Source / Client? 317/508
      October 18, 2017, 04:57:44 AM
    • michaeltrailer: olm t pst
      October 18, 2017, 04:52:48 AM
    • Adaro: Strange that staff think I'm a threat when I'm not threatening anyone
      October 18, 2017, 03:07:16 AM
    • Adaro: My Skype is: Mod Adaro
      October 18, 2017, 02:47:02 AM
    • Adaro: Make sure to PM me if you need help on Moparscape. I can answer any questions.
      October 18, 2017, 02:46:48 AM

    Author Topic: Bukkitscape - The plugin version of RSPS  (Read 2452 times)

    0 Members and 1 Guest are viewing this topic.

    Offlinematzie

    • Member
    • ****
    • Posts: 1,006
    • Thanks: +0/-0
      • View Profile
    Bukkitscape - The plugin version of RSPS
    « on: August 14, 2014, 01:05:34 PM »
    Ever dream of having your ideas being easily added to a server? When this project becomes a reality, so will your dreams.
    Server status: Pre-alpha... no really, like before Greece even existed. 
    Progress:
    Quote
    8/14/2014: Structure building. API and server core not under development yet.
    8/15/2014: API building begins.
    8/16/2014: Events added. Begining work on definitions.

    My setbacks:
    Working alone. (Unless you count forum input)
    College - start Tuesday
    API and server core both need developed.

    How you can help:
    Read through the structure.
    Offer improvements to the layout.
    Be detailed in your suggestions, so what you expect can be interpreted correctly.
    Code: [Select]
    My layout is defined below.
    CLASS NAME: Class Description
        Anything tabbed denotes a sub-class The sub-class description appears before the first hyphen (-)
            Anything with a + before it means it is a method associated with the given class

    This File's purpose: This file is to contain a basic layout of how the structure is built.
    Applying Micro-organizational structures to allow macro processing in a hopefully
    efficient manner.
    =================
    ==BEGIN CLASSES==
    =================


    =====================
    ==API CLASS OBJECTS==
    =====================
    EVENT: An "event" is anything that requires a process to complete. These will consist of the majority of the way's a plugin interacts with the server.
        Ordered Event's - Must be executed in a specific order.
            Event Node - a component that defines a piece or whole of an event. EX: Player clicks an object 5 tiles away, there would be two event nodes, one for the walk to and another for the event. They are FIFO queued. If player walks away before they reach it, the Queue is broken, and a new process takes place.
                Target Node- A part of an interaction event node. A "target" means there is only one "item" (item, ground item, NPC, button, etc.) involved.
                    Ground Target - any kind of interaction event that has something on the ground, that requires coordinates is considered a ground target.
                        Ground Item Target - an Item that is on the ground. (Pick-up, Light (logs))
                        Ground Object Target - an object in the world players can interact with(Open-up Bank, Chop tree, ETC.).
                    Inventory Target - any time there is only one item involved
                        Player Inventory Target - An item in the player's inventory interface.
                        Menu Inventory Target - Any other interface(Game window and inventory locations, not chatbox) that has item's in it.
                    NPC Target - An event node that says you wish to interact with a given NPC. EX: Talk, quick-start(minigame), open bank, pickpocket,Attack, etc.
                    Player Target - An event node having to do with interacting with another player. EX: Walk-here, Follow, Trade, Duel, etc.
                Recipe Node - Not necessarily a disaster, until it comes to the programming. A nice way of saying, using something on something else. EX: Item on item, Item on Object, Spell on item, spell on object, Spell on NPC, Item on NPC, ETC..
                    Ingredient - Part of any recipe. It needs at least two things(otherwise it is a target).
                        Item Ingredient - an Item that is used as part of a recipe.
                        NPC Ingredient - using a spell or item to interact with an NPC.
                        Player Ingredient - using another Ingredient on a player (Spell or item mainly)
                        Object Ingredient - using a spell or item to interact with a game Object.
                    Requirement - passive part of a recipe. Like an ingredient, you must have it for a recipe to work.
                        Level Requirement - a level required for the given recipe.
                        Quest Requirement - a stage requirement of a given quest must be completed.
                        Abstract Requirement - Make your own :P
                Walk To - Walking to any location in the world.
                Animation - Show what the player is doing. Node so it can be strung into parts.
                NPC Chat - Talking with an NPC - this will allow it to be built individually. Allows queuing next one as this one terminates. Consider talking to an NPC as a single event. Broke into manageable parts.
            Login - Handling the process of a player connecting to the server.
            Death Hook - What is executed when player's health reaches 0. - Typically runs as animation, dropped items, then teleport/reset anim.
            Logout - Handle the process of what needs to happen when a player disconnects. Kicking from minigames/canceling further tasks/Saving the character/ ETC.
        Abstract Event
            +preprocess - happens once on start
            +process - happens as needed.
            +post process - happens right before the event is killed.
        Cyclic Event - An event that after executing the process() method will be re-queued for execution. Will use Date objects in sync with the server's calendar for timed executions.
       


    SKILL: A class that will denote that there is experience and levels involved.





    ==================
    ==SERVER OBJECTS==
    ==================

    SKILL MANAGER: How the plugins will access a given skill. Skills are mapped with their index (as defined by client). (hitpoints = 3, attack = 0, etc.)


    ENTITY: Any in-game that has a coordinate and is changeable/controllable/movable.
        Living Entity - Anything that has life, and can die - contains death hook
            NPC - any "character" in the game that has an on-board brain.
            Player - any "character" in the game that has to process packets.
                Client - a player is controlled by an outside source
                Server dummy - player is controlled by the server.
        Morphable Entity - An entity That has a setting ID associated with it. Note that an NPC can be living and morphic.<<>>EXPAND THIS<<>>
        Objective Entity - Any kind of object that has a task associated with it. "Climbing" a ladder.
       
    PACKET: An event that must be handled that has to do with client-server communication.
        Incoming Packet - Any packet that is from the client.
            Object Actions - Interacting with an object in the world creates one of these packets
            Item Actions - interacting with an item will create one of these packets
                Ground Item Action - Clicking an object on the ground will create one of these packets.
                Inventory Item Action - Clicking an option on an item in the player's inventory will create one of these packets.
                Menu Item Action - clicking an option in a menu on an item will create one of these packets. (Bank All, Sell 5, ETC.)
            NPC Actions - Player interacting with an NPC will generate one of these packets. (Talk, Pickpocket, ETC.)
            Use Item Actions
                +On Ground Item
                +On Object
                +On NPC
                +On Player
            Use Spell Actions
                +On Ground Item
                +On Object
                +On NPC
            Command Action - ("::")
            Button Action
                +Button Action
                +Alternate Button Action - the other packet associated with clicking a button. packet 134 i think in 317?
            Walk To
                +Game window walk
                +Minimap walk
           


    ==================
    ==LAYOUT AUTHORS==
    ==================
    Matzie



    ==============
    ==DISCLAIMER==
    ==============
    Nothing is set in stone. Not all suggestions will be accepted.

    « Last Edit: August 17, 2014, 02:17:53 PM by matzie »
    smart phones are dumb
    people are smart phones.

    Offlinesini

    • Member
    • ****
    • *
    • *
    • Posts: 5,785
    • Thanks: +0/-0
      • View Profile
    Re: Bukkitscape - The plugin version of RSPS
    « Reply #1 on: August 14, 2014, 03:14:09 PM »
    Hopefully this comes out to be a clean solution to writing content. We'll see.


    OfflineDeath Style

    • Member
    • ****
    • Posts: 570
    • Thanks: +0/-0
      • View Profile
    Re: Bukkitscape - The plugin version of RSPS
    « Reply #2 on: August 14, 2014, 04:02:45 PM »
    would be nice if there was a plugin API specification that others agreed on and implemented in their sources


    Offlinematzie

    • Member
    • ****
    • Posts: 1,006
    • Thanks: +0/-0
      • View Profile
    Re: Bukkitscape - The plugin version of RSPS
    « Reply #3 on: August 15, 2014, 12:10:00 AM »
    would be nice if there was a plugin API specification that others agreed on and implemented in their sources
    That's what I'm workin on ;)

    A key difference between this and minecraft is in this you can assign a majority of the work to the server. A minecraft server is a heavy load to begin with, so it's plugins were very expensive for resources.

    I am trying to get the API assembled, so it can be released and hope the community can begin to build a server with it. I am thinking of opening a github project for it as well. All that will be included in the API and the Server Core(The implementation).

    I am hoping this is an effective way to manage memory use and resources. Through out this semester at school i am taking a programming structures class(ways to build code). The class will hopefully help me along in the design of this.

    Heres to hoping it is the next generation of RSPS  :rolleyes:
    « Last Edit: August 15, 2014, 12:19:23 AM by matzie »
    smart phones are dumb
    people are smart phones.

    OfflineJohn

    • John P.: give me a custom title
    • Member
    • ****
    • Posts: 2,455
    • Thanks: +0/-0
      • View Profile
    Re: Bukkitscape - The plugin version of RSPS
    « Reply #4 on: August 15, 2014, 12:18:47 AM »
    I'll be following this. Good luck.
    Your friendly local ex-bunsen burner.

    OfflineLothy

    • Member
    • ****
    • *
    • *
    • Posts: 7,006
    • Thanks: +0/-0
      • View Profile
    Re: Bukkitscape - The plugin version of RSPS
    « Reply #5 on: August 15, 2014, 04:08:29 AM »
    Do many people host their servers on Windows server? C# supports events in the language, among other things, which makes this stuff far easier.
    <&Speljohan_> i wouldnt want to live in a society where Mopman isnt monitored 24/7

    Offlinelare69

    • Member
    • ****
    • *
    • Posts: 5,322
    • Thanks: +0/-0
      • View Profile
    Re: Bukkitscape - The plugin version of RSPS
    « Reply #6 on: August 15, 2014, 10:46:24 AM »
    are you going to be using version control so we can see the code?
    hi. check out luna:)

    Offlinematzie

    • Member
    • ****
    • Posts: 1,006
    • Thanks: +0/-0
      • View Profile
    Re: Bukkitscape - The plugin version of RSPS
    « Reply #7 on: August 15, 2014, 02:51:02 PM »
    are you going to be using version control so we can see the code?
    PM me by chance about what you are talking about and i may be able to set that up. I do have very poor internet though, so i can't use too much of the bandwidth :l


    EDIT: I am doing this in java because that is where my talent lies. I hope to be able to work on this for at least an hour a day.
    « Last Edit: August 15, 2014, 02:59:40 PM by matzie »
    smart phones are dumb
    people are smart phones.

    OfflineRyley

    • Member
    • ****
    • *
    • Posts: 7,315
    • Thanks: +0/-0
      • View Profile
    Re: Bukkitscape - The plugin version of RSPS
    « Reply #8 on: August 15, 2014, 02:56:13 PM »
    Wasn't this the goal of Apollo

    Offlinelare69

    • Member
    • ****
    • *
    • Posts: 5,322
    • Thanks: +0/-0
      • View Profile
    Re: Bukkitscape - The plugin version of RSPS
    « Reply #9 on: August 15, 2014, 03:02:04 PM »
    are you going to be using version control so we can see the code?
    PM me by chance about what you are talking about and i may be able to set that up. I do have very poor internet though, so i can't use too much of the bandwidth :l


    EDIT: I am doing this in java because that is where my talent lies. I hope to be able to work on this for at least an hour a day.
    version control, like git


    Wasn't this the goal of Apollo
    yup pretty much
    hi. check out luna:)

    Offlinematzie

    • Member
    • ****
    • Posts: 1,006
    • Thanks: +0/-0
      • View Profile
    Re: Bukkitscape - The plugin version of RSPS
    « Reply #10 on: August 15, 2014, 04:24:02 PM »
    I would very much like to get this online, so i could have input as i am going. It would suck to start something i been working on for weeks, "doesnt work" FML. I really wont figure out my downfalls until i start the server implementation, and i can't begin that until i finish the API.

    I never even heard of apollo lol. Think i may of seen one post about it, but then again most of the time i am in the help threads.
    smart phones are dumb
    people are smart phones.

    Offlinelare69

    • Member
    • ****
    • *
    • Posts: 5,322
    • Thanks: +0/-0
      • View Profile
    Re: Bukkitscape - The plugin version of RSPS
    « Reply #11 on: August 15, 2014, 10:48:59 PM »
    I would very much like to get this online, so i could have input as i am going. It would suck to start something i been working on for weeks, "doesnt work" FML. I really wont figure out my downfalls until i start the server implementation, and i can't begin that until i finish the API.

    I never even heard of apollo lol. Think i may of seen one post about it, but then again most of the time i am in the help threads.
    https://github.com/lare96/apollo

    arguably the best runescape server emulator ever written
    hi. check out luna:)

    Offlinesini

    • Member
    • ****
    • *
    • *
    • Posts: 5,785
    • Thanks: +0/-0
      • View Profile
    Re: Bukkitscape - The plugin version of RSPS
    « Reply #12 on: August 15, 2014, 11:08:12 PM »
    It would be arguably the best emulator ever written if it had functionality beyond trying to be scalable and the plugins weren't so raunchy.

    OfflineRyley

    • Member
    • ****
    • *
    • Posts: 7,315
    • Thanks: +0/-0
      • View Profile
    Re: Bukkitscape - The plugin version of RSPS
    « Reply #13 on: August 15, 2014, 11:15:01 PM »
    It would be arguably the best emulator ever written if it had functionality beyond trying to be scalable and the plugins weren't so raunchy.

    There is nothing 'raunchy' about the initial JRuby implementation. The only real issue with Apollo is the questionable design among some of the core features, imo

    Offlinelare69

    • Member
    • ****
    • *
    • Posts: 5,322
    • Thanks: +0/-0
      • View Profile
    Re: Bukkitscape - The plugin version of RSPS
    « Reply #14 on: August 16, 2014, 02:02:57 AM »
    It would be arguably the best emulator ever written if it had functionality beyond trying to be scalable and the plugins weren't so raunchy.
    that's why I said argubly, despite some pitfalls you pointed out it still is one of the best servers out there
    hi. check out luna:)

    Offlinematzie

    • Member
    • ****
    • Posts: 1,006
    • Thanks: +0/-0
      • View Profile
    Re: Bukkitscape - The plugin version of RSPS
    « Reply #15 on: August 16, 2014, 06:58:57 AM »
    The features this API will offer:
    • A common ground for writing server features.
    • A way to customize servers and add/remove features quickly.
    • A way to update the server live - should not require a reset (LOW priority goal)
    • A means for programmers to understand code. Methods will be clearly named, so that the purpose of it is rather obvious, mixed with documentation making it very easy to understand.
    • Ability for anyone to write an implementation of it. So that they may make improvements to the efficiency and other aspects associated with an MMO game.

    I looked through some of Apollo's code, it was rather ugly imho. I am hoping this will come out much more clean.
    smart phones are dumb
    people are smart phones.

    OfflineLothy

    • Member
    • ****
    • *
    • *
    • Posts: 7,006
    • Thanks: +0/-0
      • View Profile
    Re: Bukkitscape - The plugin version of RSPS
    « Reply #16 on: August 16, 2014, 10:29:50 AM »
    Reloading plugins without restarting the server should not be a priority at this stage.
    You're not dealing with a production environment subject to service-level agreements so you shouldn't be worried about it at all.

    Besides, in the real world you would stage your changes first (in a test environment), make sure they work, and then do a scheduled deployment to the production environment during off-peak hours. You certainly wouldn't change the production environment's configuration on an ad-hoc basis.

    So to conclude: Don't sweat plugin reloading.
    <&Speljohan_> i wouldnt want to live in a society where Mopman isnt monitored 24/7

    Offlinematzie

    • Member
    • ****
    • Posts: 1,006
    • Thanks: +0/-0
      • View Profile
    Re: Bukkitscape - The plugin version of RSPS
    « Reply #17 on: August 16, 2014, 10:49:17 AM »
    Reloading plugins without restarting the server should not be a priority at this stage.
    You're not dealing with a production environment subject to service-level agreements so you shouldn't be worried about it at all.

    Besides, in the real world you would stage your changes first (in a test environment), make sure they work, and then do a scheduled deployment to the production environment during off-peak hours. You certainly wouldn't change the production environment's configuration on an ad-hoc basis.

    So to conclude: Don't sweat plugin reloading.
    That is a lengthy way of saying "low priority goal" lol? :P I know right now i am just focused on getting the content of the API. There are a lot of different aspects. A lot of them are hard to think of off of the top of my head ._.

    What does a player/npc/object/item/skill/etc.  all contain?

    I need to make sure i hit the main points so this project can hit the ground running.
    If anyone could post a list of things like this it would be very useful!
    Something like my little section in the first post. I am trying to decide on a way of handling "uses" at the moment.(Use - [on/with] -)
    smart phones are dumb
    people are smart phones.

    OfflineRyley

    • Member
    • ****
    • *
    • Posts: 7,315
    • Thanks: +0/-0
      • View Profile
    Re: Bukkitscape - The plugin version of RSPS
    « Reply #18 on: August 16, 2014, 10:56:22 AM »
    Reloading plugins without restarting the server should not be a priority at this stage.
    You're not dealing with a production environment subject to service-level agreements so you shouldn't be worried about it at all.

    Besides, in the real world you would stage your changes first (in a test environment), make sure they work, and then do a scheduled deployment to the production environment during off-peak hours. You certainly wouldn't change the production environment's configuration on an ad-hoc basis.

    So to conclude: Don't sweat plugin reloading.
    That is a lengthy way of saying "low priority goal" lol? :P I know right now i am just focused on getting the content of the API. There are a lot of different aspects. A lot of them are hard to think of off of the top of my head ._.

    What does a player/npc/object/item/skill/etc.  all contain?

    I need to make sure i hit the main points so this project can hit the ground running.
    If anyone could post a list of things like this it would be very useful!
    Something like my little section in the first post. I am trying to decide on a way of handling "uses" at the moment.(Use - [on/with] -)

    You're thinking way too far in advanced, the core should come first. I would focus on specific aspects of the core and how it is going to be designed to be flexible and able to implement a variety of protocols and all that other good stuff, design the less important front-end things when the time comes.

    If you think about all these designs at once you're going to overwhelm yourself.

    OfflineDeath Style

    • Member
    • ****
    • Posts: 570
    • Thanks: +0/-0
      • View Profile
    Re: Bukkitscape - The plugin version of RSPS
    « Reply #19 on: August 16, 2014, 01:14:46 PM »
    will the plugins be similar to runescript or is this going to be a java only thing

     

    Copyright © 2017 MoparScape. All rights reserved.
    Powered by SMFPacks SEO Pro Mod |
    SimplePortal 2.3.5 © 2008-2012, SimplePortal