Skip to content

Drakania Engine is made with intention to help new scripters with making their own servers for Gothic 2 Online.

Notifications You must be signed in to change notification settings

DamianQualshy/DEngine

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

89 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Drakania Engine

Drakania Engine is made with intention to help new scripters with making their own servers for Gothic 2 Online.

The package aims to contain functions from single-player and utilizing the G2O's possibilities to it's fullest, synchronizing the information between client and server in a vanilla-friendly way. That means, for example, if you don't want to create your own GUIs for stats or journal, you can just use the one that already exists client-side in the base game.

dEngine doesn't require any outside modules or frameworks, since it already contains:

I want to make it VERY CLEAR that:

  • It is still in development, but I'd rather push it as it is now rather than wait and wait. Maybe I will make a wiki, maybe I won't, who knows.
  • This is NOT a gamemode. It's a framework that's supposed to HELP with making a gamemode.
  • Every change that shouldn't be considered default/vanilla (eg. stamina, professions) or features that block the customization (eg. forced loot tables) will NEVER be in this repository. It can be in an eventual fork or a gamemode though.

How to setup

Clone the code repo

git clone https://github.com/DamianQualshy/DEngine
cd DEngine

Initiate Submodules

git submodule update --init --recursive
git submodule update --remote --force

Download the 0.3.0 server files and place them in the cloned repo directory, then import the engine in config.xml file

	<!-- Submodules -->
		<import src="Submodules/import.xml" />

	<!-- dEngine -->
		<import src="dEngine/import.xml" />
	
	<!-- Server -->
		<!-- Import your scripts here -->

Download the latest BASS and LocalStorage modules, and add them to the config.xml file of your server

<module src="LocalStorage.dll" type="client" />
<module src="sq_bass.dll" type="client" />

Make sure you're using latest MySQL module, and for your operating system of choice

<module src="MySQL.x64.dll" type="server" /> <!-- Windows 64-bit -->

Before your first launch make sure everything is properly set up, following this setup and the Server manual articles on Gothic 2 Online Docs. For any problems or possible ideas please leave an issue or create a fork to implement the patch yourself.

Features

  • Hero Class (Player, NPC)
  • Server-side Inventory
  • Chat (Default)
  • NPC AI (Modified Bimbol example)
  • Waynet
  • NPC Roaming (WIP)
  • Journal
  • Dialogues (WIP)
  • Calendar
  • Seasons
  • MySQL Wrapper
  • Events for AreaManager
  • Map split into Chunks

To-Do

  • NPC Routines
  • Trading
  • Quest System(?)

Optional Features (and Tools)

  • GUI Creator in real time
  • World Builder
  • Admin Control Panel
  • Player Settings
  • Placing NPCs in-game
  • God Mode
  • Flying/K spam

Structure

├── dEngine/
│   ├── Client/
│   │   ├── CChat.nut
│   │   ├── CLocalPlayer.nut
│   │   ├── CPlayerList.nut
│   │   ├── Calendar.nut
│   │   ├── Client.nut
│   │   ├── Functions/
│   │   │   ├── Dialoge.nut
│   │   │   ├── Journal.nut
│   ├── Server/
│   │   ├── AI/
│   │   │   ├── base.nut
│   │   │   ├── behaviour/
│   │   │   │   ├── agressive/
│   │   │   │   │   ├── humanoid.nut
│   │   │   │   │   ├── monster.nut
│   │   │   │   ├── agressive.nut
│   │   │   │   ├── neutral.nut
│   │   │   ├── helpers.nut
│   │   │   ├── routines/
│   │   │   │   ├── stand.nut
│   │   │   │   ├── task.nut
│   │   │   ├── state.nut
│   │   │   ├── update.nut
│   │   │   ├── waynet.nut
│   │   ├── Calendar.nut
│   │   ├── Functions/
│   │   │   ├── Dialoge.nut
│   │   │   ├── Journal.nut
│   │   │   ├── Utility/
│   │   │   │   ├── FileCheck.nut
│   │   │   │   ├── Log.nut
│   │   ├── HeroClass/
│   │   │   ├── NPC.nut
│   │   │   ├── Player.nut
│   │   │   ├── Prototype.nut
│   │   ├── Inventory.nut
│   │   ├── MySQL.nut
│   │   ├── Server.nut
│   ├── Shared/
│   │   ├── Class/
│   │   │   ├── Chunk.nut
│   │   │   ├── DialogeManager.nut
│   │   ├── Config.nut
│   │   ├── Constants.nut
│   │   ├── Functions/
│   │   ├── PacketMessages/
│   │   │   ├── Calendar.nut
│   │   │   ├── Dialogue.nut
│   │   │   ├── Journal.nut
│   │   ├── Tables/
│   │   │   ├── Seasons.nut
│   │   ├── Utility/
│   │   │   ├── Convert.nut
│   │   │   ├── Position.nut
├── Submodules/
│   ├── BASSWrapper/
│   ├── Overrides/
│   ├── areamanager/
│   ├── bpackets/
│   ├── gui-framework/
│   ├── inventory/
│   ├── tween.nut/
├── Server/

About

Drakania Engine is made with intention to help new scripters with making their own servers for Gothic 2 Online.

Resources

Stars

Watchers

Forks

Releases

No releases published