/Rhisis

Rhisis is an experimental FlyFF emulator built with C#

Primary LanguageC#GNU General Public License v3.0GPL-3.0

Rhisis

forthebadge forthebadge

Build Status Codacy Badge discord

Rhisis is a FlyForFun V15 emulator built with C# 7 and the .NET Core Framework 2.0.

This project has been created for learning purposes about the network and game logic problematics on the server-side. Also, this is a rework of the Hellion emulator.

We choose to use the Ether.Network because it provides a clients management system and also a robust packet management system entirely customisable.

Details

  • Language: C# 7
  • Framework: .NET Core 2.0
  • Application type: Console
  • Database type: MsSQL Express or MySQL
  • Configuration files type: JSON
  • External libraries used:
  • Environment: Visual Studio 2017

Features

Common

  • Logger
  • Rijndael cryptography algorithm
  • Custom exceptions
  • Packet handler

Database

  • Multi-DB support (MySQL and MsSQL)

Login

  • Inter-Server authentication process (ISC)
  • Client authentication process
  • Send server list to connected client

Cluster

  • Inter-Server authentication (ISC)
  • Character list
  • Create character
  • Delete character
  • 2nd password verification
  • Pre join

World

  • Inter-Server authentication (ISC)
  • Connect to the world
  • Load resources
    • Defines & texts
    • Movers
    • Maps
  • Spawn monsters and NPC
  • Visibility System
  • Mobility System
  • Chat System
    • Chat commands:
      • Create item : /ci or /createitem
  • Inventory System
    • Move items
    • Equip/Unequip items
    • Save inventory

How to setup Rhisis (from develop branch) (Windows platform)

  1. Download or Clone the develop branch
  2. Install the .NET Core SDK 2.0 : https://www.microsoft.com/net/download/windows
  3. Install MsSQL Express or MySQL Server
  4. Edit the files in bin/config/ (database.json, login.json, cluster.json, world.json)
  5. Create an account in your database (tool available soon)
  6. Start the emulator 6.1. Start login.bat 6.2. Start cluster.bat 6.3. Start world.bat