Thread: [637] Rewrite from Scratch - Solo.

Page 3 of 23 FirstFirst 1234513 ... LastLast
Results 21 to 30 of 225
  1. #21  
    Registered Member netherfoam's Avatar
    Join Date
    May 2013
    Posts
    149
    Thanks given
    62
    Thanks received
    88
    Rep Power
    46
    Update:
    Still working on this, now working with Alva who's helping out with a bunch of content related things. Quick changelog:
    • More commands
    • Scripting engine changed to BeanShell, allows java-like code without compilation. Few scripts added.
    • Prayers
    • Range Combat
    • Substantial magic framework
    • Improved clip/pathfinding, projectile pathing
    • Ground items
    • Vendors
    • Bank
    • Skills API
    • Friends handling/pm'ing/ignores
    • Harvesting objects (Chopping trees implemented, etc)
    • Gameobject option nhandling API


    Though this is a quick list, there's actually a lot of work involved in the above. We're no longer working with Tortas on the Misthalin project, he's decided to use a more mature framework (Fair enough, writing a server from scratch won't happen over night)
    Reply With Quote  
     

  2. Thankful user:


  3. #22  
    Registered Member
    Join Date
    Oct 2012
    Posts
    1,279
    Thanks given
    331
    Thanks received
    257
    Rep Power
    69
    We've made more progress on a variety of things. (Eg.: Prayer, Interface designs, Walking, and more..) Netherfoam will soon explain in more detail what we've done.
    Reply With Quote  
     

  4. #23  
    Registered Member netherfoam's Avatar
    Join Date
    May 2013
    Posts
    149
    Thanks given
    62
    Thanks received
    88
    Rep Power
    46
    Quote Originally Posted by Alva View Post
    We've made more progress on a variety of things. (Eg.: Prayer, Interface designs, Walking, and more..) Netherfoam will soon explain in more detail what we've done.
    So, updates:
    Pane System for handling Panes (548, 746 game panes and 755 world map game pane), allows proper object-oriented handling and cheat prevention. Discovered panes are actually interfaces, allowing us to do some cool stuff like this:
    Attached image

    Obviously we also have the world map working too:
    Attached image

    Prayer and prayer groupings have been added, preventing (say) Thick Skin and Iron Skin being activated or Protect Melee and Protect Magic at the same time. Still working on stat bonuses and effects though:
    Attached image

    Range and Combat Styles have been implemented (Although combat styles makes no changes to combat, yet, the only thing left to do is update the formulas accordingly):
    Attached image

    Modern Magic elemental spells as well, though I'm working on implementing the remainder of the spells:
    Attached image

    Ancient magic combat spells, minus the special effects:
    Attached image

    And Alva's got the friends and PM'ing working nicely too:
    Attached image

    As for our roadmap from here, I would like to branch off into:
    • NPC spawns around the world
    • NPC loots
    • A method of scripting/writing NPC attack types
    • Improved gameobject handling
    • Teleport spells (Modern, Ancient), most commonly used spells and their effects
    • A command that lets you write on-the-fly java. (Anyone know an interface that lets you input multi-line text on the client?)
    • Likely, skilling, soon after.


    With this project, we're looking at releasing it open-source as a framework, while using the module system to keep any parts of the server which aren't crucial to its operation, but are pieces of code we would rather not share (Such as a full bot and AI implementation). That's quite far in the future though
    Reply With Quote  
     

  5. Thankful user:


  6. #24  
    Registered Member netherfoam's Avatar
    Join Date
    May 2013
    Posts
    149
    Thanks given
    62
    Thanks received
    88
    Rep Power
    46
    Now here's something to brag about. Since our scripting system uses BeanShell, which is a java-like scripting language, I can hook into it. It was a bit tedious writing programs when you couldn't see their output, so I used a book plus the player's chatbox. With the exception of line wrapping issues, check this out:
    Attached image

    Pretty cool huh? I append one more '}' in the above code (through chat) and the script gets executed. Viola, I am teleported to Varrock! Took a little bit to hack into the system ClassLoader to retrieve a list of all currently loaded classes, so that imports were done automatically (Because screw writing import statements in-game!)

    EDIT: Server's currently sitting on 36,191 lines of code (Including documentation and libraries coded by myself)
    Reply With Quote  
     

  7. Thankful user:


  8. #25  
    Registered Member
    Join Date
    Oct 2012
    Posts
    1,279
    Thanks given
    331
    Thanks received
    257
    Rep Power
    69
    You might think that this project isn't really active, but in fact it is. Dirk (netherfoam) and I are pushing out progress on a daily basis and we are having a great time!

    I have been busy with the NotesInterface. I'm trying to get all its features working properly at once. I also found out how poorly coded it actually is by Jagex (why didn't they use packets to handle this?).

    Netherfoam has been working on a pretty intense feature. He'll surely be finished within the next few days and post about it, because it has quite some impact on the server in general. Other than that I can say that Dirk solved the mystery of Amasks and made handling Amasks easier than ever!
    Reply With Quote  
     

  9. #26  
    Registered Member netherfoam's Avatar
    Join Date
    May 2013
    Posts
    149
    Thanks given
    62
    Thanks received
    88
    Rep Power
    46
    So, progress update for today:

    We now have a LogonServer and a WorldServer, the player connects to the WorldServer which requests authentication from the LogonServer for the player. When I do a deobfuscation of the actual client, I'll be able to find out more since there appears to be the WorldServer, LobbyServer and LogonServer. For now, this means that the WorldServer is also the LogonServer. This means that we can allow two servers to share player profiles and so on. This is where most of my time has gone in the past two weeks unfortunately, but it is nice to get closer to the RuneScape model.

    We've got the notes interface working nicely.
    Attached image

    Bots can now use an array of combat moves, a more exciting demo:
    Attached image

    The server now uses NIO for handling players and the LogonServer. A pretty noticeable increase in the speed of cache downloading to the client. On the topic of cache changes, the server now scans the cache for map files which are encrypted, removes them from memory and rewrites the reference tables and checksum. This means the client is never sent the encrypted maps, thus will never crash when attempting to load them. Instead, a blank, textured landscape with no objects will be shown and the server can send blank XTEA keys ({0,0,0,0}) for encrypted regions! This solves problems like Pest Control crashing because a region near pest control is encrypted!
    Attached image

    Stairs working, banks working, mining and woodcutting to some extent. This is mostly a test case for object handling, but works nicely thus far.
    Reply With Quote  
     

  10. Thankful users:


  11. #27  
    Registered Member

    Join Date
    Oct 2012
    Posts
    1,461
    Thanks given
    560
    Thanks received
    323
    Rep Power
    122
    Great updates, loving the map data one

    “I have not failed. I've just found 10,000 ways that won't work.”
    ― Thomas A. Edison


    Attached image


    Reply With Quote  
     

  12. #28  
    Registered Member netherfoam's Avatar
    Join Date
    May 2013
    Posts
    149
    Thanks given
    62
    Thanks received
    88
    Rep Power
    46
    Quote Originally Posted by Magnito View Post
    Great updates, loving the map data one
    Yeah, me too. I haven't heard of any other servers doing the same thing but can't see why nobody invested the time into doing that kind of thing.
    Reply With Quote  
     

  13. #29  
    Registered Member
    Join Date
    Oct 2012
    Posts
    1,279
    Thanks given
    331
    Thanks received
    257
    Rep Power
    69
    Even though I'm not in charge of posting updates, here's some work of the past days:

    - Functional Quick Prayers
    - (finally) NPC's spawned through SQL.
    - CombatDefs for those NPC's (not all).
    - Some cool, way too OP and complicated stuff from Netherfoam.

    I'm on clans for the next few days. Soon I'll try to post a video of our current progress so far.
    Reply With Quote  
     

  14. #30  
    Registered Member netherfoam's Avatar
    Join Date
    May 2013
    Posts
    149
    Thanks given
    62
    Thanks received
    88
    Rep Power
    46
    Quote Originally Posted by Electra View Post
    Even though I'm not in charge of posting updates, here's some work of the past days:

    - Functional Quick Prayers
    - (finally) NPC's spawned through SQL.
    - CombatDefs for those NPC's (not all).
    - Some cool, way too OP and complicated stuff from Netherfoam.

    I'm on clans for the next few days. Soon I'll try to post a video of our current progress so far.
    Recent additions from me are:
    - Removal of "deathTick", we can now parse animations and find how long the death animation takes to calculate this
    - NPC's can now use range/magic attacks (Or rather, they always could, they just will now)
    - Combat definitions handled for lots of NPC's - They now mage/range appropriately
    - Added Withdraw/Deposit-X for banks the real way (I'm yet to see another server do this?)
    - Added GrandExchange search interface & handling (Full exchange not implemented, just the search handling. Will be used for ::item commands later)
    - Added loot tables (Though data is currently a bit shotty)

    I'm afraid my work hasn't been very complicated this time, though I'm looking at improving our data serialization (Storing arrays, lists & maps is needed).

    For future attempts, I'd like to try to:
    - Drop player items
    - Implement guaranteed drops (Bones/D'hides/Ashes, etc) for mobs
    - Use a more accurate loot table
    - Figure out & fix whatever I'm doing wrong with the cache BZIP format's encoding and decoding
    - Try to write multiple Player/NPC updates to a player per-tick to see if I can bypass the hardcoded 5000 byte limit on the client (The client automatically disconnects if it receives a packet > 5kB, but that's only about 70 players in combat required to overthrow that! 70 players is not very many in one area!)
    - Otherwise, I'll have to try and do better prioritisation of players (Currently done on distance + rank + friend or ignore + in combat + is target + is targetting)
    - Player seems to go invisible after teleporting rarely. It's an update mask thing, but I'm not sure where exactly it's being caused
    - I'd like to see what magic happens if I increase the tick period to 400ms for the laughs.

    Then, security:
    - Cut sessions if > 5kB of data received
    - Limit connections per minute from IP addresses
    - Disconnect clients if they request too much data too quickly
    - Blacklist cache sessions which request missing files, or the same file multiple times
    Reply With Quote  
     

Page 3 of 23 FirstFirst 1234513 ... LastLast

Thread Information
Users Browsing this Thread

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


User Tag List

Similar Threads

  1. QuarterX Base (Made From Scratch)
    By Mrquarter in forum Downloads
    Replies: 74
    Last Post: 07-30-2008, 03:23 PM
  2. Replies: 86
    Last Post: 02-29-2008, 05:31 PM
  3. Server source made from scratch, no pics
    By saviour in forum Downloads
    Replies: 14
    Last Post: 01-04-2008, 01:21 AM
  4. Nice Custom Base Made From Scratch!
    By Yorick in forum Downloads
    Replies: 8
    Last Post: 08-08-2007, 07:48 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
  •