Thread: Chronos - A Modular RS2 Server Emulator

Page 1 of 2 12 LastLast
Results 1 to 10 of 15
  1. #1 Chronos - A Modular RS2 Server Emulator 
    Registered Member
    Join Date
    May 2019
    Posts
    3
    Thanks given
    0
    Thanks received
    0
    Rep Power
    0
    CHRONOS
    A Modular RS2 Server Emulator

    The vision for this server is a collaborative project where anyone can contribute! The idea is that the core server will remain untouched while the community develops plugins. The server will be written in Java using Python as a scripting language. Chronos is developed with one thing in mind: modularity. It should be easy and simple to add new features, not a messy conglomerate of ugly code! This community has been slowly dying over the years and I hope to bring us all together so that we can learn from each other and build off each others' ideas. This server is built 100% from scratch.

    As of right now there is no open source code available. Once the server is developed enough it will be released.
    Anyone who wants to contribute may send me a private message.

    Founders:

    ~ Matthew ~
    ~ Josh ~

    Changelog:

    [5/31/15] Officially began development.

    [5/31/15] Selected Netty as the networking framework of choice.

    [5/31/15] Implemented the RS2 login protocol (using build 317 exclusively).

    [5/31/15] Began working on the world system.

    [5/31/15] Created a "playerLoader" system for save file I/O. This will allow for player data management via multiple mediums (MySQL, local save files, text files, etc.)

    [5/31/15] Using the playerloader system, created BinaryPlayerLoader for managing player saves via local data files.
    @TODO: Create a save file editor.
    @TODO: Implement a SQL loader.
    @IDEA: Use an attribute map for the elements of a character that should be loaded/saved, this way one would not have to modify the PlayerLoader code for each new attribute, and each time a new attribute is added to the map the player saver will automatically assign (and the player loader assume) the default value and save files will thus never become corrupt or out-of-sync with the server.

    [5/31/15] Separated the login and game protocols into two completely separate pipelines, rather than mix-and-matching the login and game protocols into a single pipeline. It just makes more sense that way.

    [5/31/15] Started working on a Python scripting system using Jython standalone.
    @IDEA: Eventually I would like to get a full-blown plugin system working, for example any necessary Java classes as well as python scripts bundled together with a manifest file in one archive that can simply be copied/pasted to have that content instantly added to (or removed from) the server. This way, any fuck-ups won't break the main game, content creators will have limited to zero access to the full source code, changes can be made on-the-fly, and vast amounts of content can be created quickly.

    [5/31/15] Started working on the game protocol.

    [6/01/15] Created a versatile Packet class and finished the packet decoder.

    [6/01/15] Finished a very basic packet handling system loading configuration via XML.

    [6/01/15] Added a world configuration file via INI for changing the playerloader and gameserver port.

    [6/09/15] Began working on the core engine.

    [6/09/15] Created a basic Task system to utilize the task executor.
    - Created a ScheduledTask class for repetitive actions which can be stopped.

    [6/09/15] Began working on the player updating procedure.
    - Finished local player movement.
    - Finished local player appearance updating.

    [6/11/15] Finished the Movement class. The walking packets have been finished as well.

    [6/11/15] Fixed a bug in the Engine class which caused movement to malfunction.

    [6/11/15] Added support for parallel entity updating to take advantage of multiple cores.

    [05/11/19] Started working on player items and containers.

    [05/11/19] Some bug fixes.

    [05/13/19] More progress on item containers & player inventory.

    [05/13/19] Graphics and animation updating done.

    [05/13/19] Equipment rendering done.

    [05/14/19] Interface code done and minor bug fixes.

    [05/14/19] Started working on player skills.

    [05/19/19] Finished weapon interface.

    Media

    Login and start of items:


    Animations/Graphics Updating Done


    Equipment Rendering Done


    Equipment interface:


    Weapon Interface:



    Here is some sample code (action_buttons.py):
    Code:
    from org.rs2e.server.world import Animation
    
    def button_2458(player):
        player.getClientHandler().sendLogout()
    
    def button_153(player):
        player.getMovement().setRunningEnabled(True)
    
    def button_152(player):
        player.getMovement().setRunningEnabled(False)
    
    def button_161(player):
        player.setAnimation(Animation.CRY)
    
    def button_162(player):
        player.setAnimation(Animation.THINKING)
    
    def button_163(player):
        player.setAnimation(Animation.WAVE)
    
    def button_164(player):
        player.setAnimation(Animation.BOW)
    
    def button_165(player):
        player.setAnimation(Animation.ANGRY)
    
    def button_166(player):
        player.setAnimation(Animation.DANCE)
    
    def button_167(player):
        player.setAnimation(Animation.BECKON)
    
    def button_168(player):
        player.setAnimation(Animation.YES_EMOTE)
            
    def button_169(player):
        player.setAnimation(Animation.NO_EMOTE)
    
    def button_170(player):
        player.setAnimation(Animation.LAUGH)
    
    def button_171(player):
        player.setAnimation(Animation.CHEER)
    
    def button_172(player):
        player.setAnimation(Animation.CLAP)
    
    def button_13362(player):
        player.setAnimation(Animation.PANIC)
    
    def button_13363(player):
        player.setAnimation(Animation.JIG)
    
    def button_13364(player):
        player.setAnimation(Animation.SPIN)
    
    def button_13365(player):
        player.setAnimation(Animation.HEADBANG)
    
    def button_13366(player):
        player.setAnimation(Animation.JOYJUMP)
    
    def button_13367(player):
        player.setAnimation(Animation.RASPBERRY)
    
    def button_13368(player):
        player.setAnimation(Animation.YAWN)
    
    def button_13383(player):
        player.setAnimation(Animation.GOBLIN_BOW)
    
    def button_13384(player):
        player.setAnimation(Animation.GOBLIN_DANCE)
    
    def button_13369(player):
        player.setAnimation(Animation.SALUTE)
        
    def button_13370(player):
        player.setAnimation(Animation.SHRUG)
    
    def button_11100(player):
        player.setAnimation(Animation.BLOW_KISS)
    
    def button_667(player):
        player.setAnimation(Animation.GLASS_BOX)
    
    def button_6503(player):
        player.setAnimation(Animation.CLIMB_ROPE)
    
    def button_6506(player):
        player.setAnimation(Animation.LEAN)
    
    def button_666(player):
        player.setAnimation(Animation.GLASS_WALL)
    Reply With Quote  
     

  2. #2  
    Donator
    .css's Avatar
    Join Date
    Dec 2018
    Age
    24
    Posts
    98
    Thanks given
    4
    Thanks received
    20
    Rep Power
    15
    Best of luck with this, pwnxile/ownxile has python scripting that you can reference for usages and general examples of operations. I'll be following this; hope development goes well for you guys.
    .css#1293

    Latest work
    [Only registered and activated users can see links. ] [Only registered and activated users can see links. ] [Only registered and activated users can see links. ]
    Reply With Quote  
     

  3. Thankful user:


  4. #3  
    Donator


    Join Date
    Jul 2016
    Posts
    211
    Thanks given
    53
    Thanks received
    58
    Rep Power
    107
    Best of luck to you!
    Discord-Btown#5453
    Reply With Quote  
     

  5. #4  
    \_(ツ)_/


    Join Date
    Sep 2014
    Age
    21
    Posts
    2,501
    Thanks given
    1,442
    Thanks received
    1,384
    Rep Power
    5000
    Good luck!

    Dawntained - Autumn '19

    "There is no such entity as a 'PI client' " - Albert Einstein

    Quote Originally Posted by soccerchamp149 View Post
    whats eclipse lol
    Reply With Quote  
     

  6. #5  
    Registered Member RainDropzZ's Avatar
    Join Date
    Oct 2010
    Posts
    120
    Thanks given
    8
    Thanks received
    24
    Rep Power
    20
    Nice idea, looking forward to see more of this. Hope it does not die as fast as other projects that aimed for a goal like that.
    Spoiler for Verified!:
    Reply With Quote  
     

  7. #6  
    Registered Member
    Join Date
    Jul 2009
    Posts
    39
    Thanks given
    5
    Thanks received
    2
    Rep Power
    0
    2019 we back up in this
    Reply With Quote  
     

  8. #7  
    Extreme Donator

    Unzy's Avatar
    Join Date
    Feb 2017
    Posts
    1,051
    Thanks given
    0
    Thanks received
    1,893
    Rep Power
    5000
    Goodluck!
    Reply With Quote  
     

  9. #8  
    Registered Thanker
    MrClassic's Avatar
    Join Date
    Oct 2008
    Age
    24
    Posts
    1,835
    Thanks given
    10,233
    Thanks received
    197
    Rep Power
    3313
    good luck!
    Thanks, MrClassic.

    [Only registered and activated users can see links. ]

    [Only registered and activated users can see links. ]
    Reply With Quote  
     

  10. #9  




    Scu11's Avatar
    Join Date
    Aug 2007
    Age
    25
    Posts
    16,024
    Thanks given
    7,039
    Thanks received
    11,744
    Rep Power
    5000
    can you attach a debugger to any of the python code?

    [Only registered and activated users can see links. ]
    Reply With Quote  
     

  11. #10  
    Registered Member
    Join Date
    May 2019
    Posts
    3
    Thanks given
    0
    Thanks received
    0
    Rep Power
    0
    Just finished graphics/animation updating, doing things in whatever order, so I don't get burnt out.

    Quote Originally Posted by RainDropzZ View Post
    Nice idea, looking forward to see more of this. Hope it does not die as fast as other projects that aimed for a goal like that.
    Well that's the point, I've seen projects with this goal and they all fail. That's why I'm making an effort to keep the morale alive.
    Reply With Quote  
     

Page 1 of 2 12 LastLast

Thread Information
Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Similar Threads

  1. Replies: 6
    Last Post: 04-22-2008, 02:43 PM
  2. Best RS2 Server/Forums
    By TheRemain in forum RS2 Server
    Replies: 2
    Last Post: 04-21-2008, 01:25 AM
  3. RS2 Server Forums!!!
    By TheRemain in forum RS2 Server
    Replies: 6
    Last Post: 04-20-2008, 09:02 PM
  4. Replies: 8
    Last Post: 03-11-2008, 01:19 PM
  5. The reason why RS2 Servers are Slow.
    By Inside Sin in forum RS2 Server
    Replies: 3
    Last Post: 03-02-2008, 09:32 PM
Posting Permissions
  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •