|
|

A road from nothing to something.
Introduction
LightRune is a lightweight RuneScape emulator which aims to simulate the oldschool look and feel without recreating every single feature of RuneScape.
Unlike most other projects, our main goal is to have smooth and enjoyful content (fast gameplay) which won't get people bored.
This project is just something to keep us occupied and hopefully bring something good to the RSPS scene.
Project Team
- sKyrO - Server Developer
- Heli - Project Partner
Update Log
Note: Even though some of the updates seems to be trivial, it takes good amount of time and effort to perfect all of the content.
- 5/12/2012 - project started!
- Started with NIO networking.
- Wrote a byte buffer implementation for RuneScape protocol.
- Finished 317 login procedure.
- 5/13/2012
- Started with player updating.
- Finished player movement system.
- 5/15/2012
- Implemented player appearance updates.
- Added multi-player support.
- Added chatting support.
- 5/18/2012
- Added inventory support.
- Added equipment support.
- 5/21/2012
- Added full banking support.
- Added ground items support.
To Do List
Ideas on what to do next would be very appreciated.
- Player trading.
- Private messaging.
- Npc and npc movement support.
- Basic skills support, to be ready to write combat/combat skills.
Last edited by kLeptO; 05-22-2012 at 03:12 PM.


The Media
Last edited by kLeptO; 06-30-2012 at 01:54 PM.


Server Analysis
For those who are interested on how server itself works.
Server runs on two threads. One is used by a slightly modified version of Graham's task scheduler and another one is used by acceptor. Server socket channel is blocking, allowing acceptor immediately accept new connections and just block wait for future connections. After accepting a new connection, acceptor tries to handle login procedure within 150 milliseconds, this makes login instant for people with fast connections. Now if client is not done with login procedure within 150 milliseconds, it gets registered with selector and from there on login procedure will be handled during selection. Connections that are registered with selector are set to asynchronous mode and gets selected by the task scheduler every game tick, meaning that server handles incoming data every 600 milliseconds. All incoming packets are immediately dispatched to handlers. All outgoing data gets sent immediately, the same way as in RuneSource, using SocketChannel.write(ByteBuffer) method.
Credits
- sKyrO - Original author, the only developer at the moment.
- Heli - Co-founder and just a guy who keeps me motivated.
- Darkie - Guy who provides me with information about RuneScape gameplay.
Last edited by kLeptO; 06-30-2012 at 02:03 PM.


Goodluck derp.

first*
edit:
second*
Impressive, thus far. Good start. Why NIO networking though? Considering most people favour netty these days.


| « Winterlove first release replica in node.js | RuneSource Development » |
| Thread Information |
Users Browsing this ThreadThere are currently 1 users browsing this thread. (0 members and 1 guests) |