User Tools

Site Tools


building:devsite

Sinfar Developement Website

When building for Sinfar, you will only need to use the Toolset to create and edit area. All other blueprints can be created and changed using Sinfar development website: https://nwn.sinfar.net.

Changes are live and can even sometime instantly be seen in game. At worst you will have to reload the area or re-create the object in game.

Sinfar worlds are not made of big module but of plenty of resources (blueprints / ResRef) classified into ERFs and the websites allows you to mange those ERFs and their resources.

How to Log-in

  1. Enter your player name (The name / account that you use to connect to the server, the one that is associated with your character here: https://nwn.sinfar.net/search_characters.php
  2. Enter your password, if you don't have a password or don't remember it, you have 2 option:
    1. Enter any password and if you are using the same IP address as the one that you used to log on the server the last time, then the website will update the password to that
    2. Talk to Vichan in game and ask him to reset your web client password (The webclient login is the same was the development website login)
  3. Click the “Login” button

What Is an ERF

It stands for “Encapsulated Resources File” but we just call them ERFs. They are containers of blueprints that are using the same prefix(es).
They are represented that way on the website:

They can contain any number of resources of the following resource types:

  • Scripts (*.nss)
  • 2DAs (Two Dimension Tables) (*.2da)
  • Conversations (*.dlg)
  • Areas (*.are and *.git)
  • All *.ut? Blueprints (Creatures, Placeables, Items, Triggers, Waypoints, Encounters, Sounds, Doors, Merchants)
  • The Module Information File (*_mod.ifo)

Their main purpose is to split resources into meaningful entities, for example: an island, a scripting system, a set of generic items…
Splitting resources into multiple ERFs is a good way to document what you are building but it also lets you use many of the ERFs features on more specific resources.

ERFs Features

Each ERFs has the following possibilities:

  1. Downloading of All resources in different format (module, erf, compressed individual files….)
  2. Uploading many resources from different format (module, erf, compressed individual files….)
  3. Builder Access Control: You can control which builder can have access (Read or Write) to a specific ERF.
  4. Server Access Control: You can control which server can have access (load) the resources from a speficic ERF.
  5. Areas Visibility in the DM Client: The DM client only lists areas that are from ERFs with the “Show Areas in the DM Client” setting activated.
  6. ERFs are used to sort: log entries, resources backup, loot tables, custom factions and weathers

ERFs / Resources Prefix

The prefix is the part of the ResRef / Blueprint that is before the first undercore. For exampl:

Full ResRefExtracted Prefix
agn_area_001agn
test___001test
0_1_2_30_
_abcd

It it used to determine from which ERF a resource come from and from there (the ERF) the server can know the remaining (which server / who has access, what weather to use…)

ERFs have one main prefix and can have secondary prefixs (but secondary prefixes are not recommended).

Resources Revision System

Sinfar development system uses Git under the hood. Everytime that you:

  • Edit a resources from the website (compile a script, save a dialog or 2da or GFF resource)
  • Upload resources into an ERF
  • Rebuild an ERF

A commit is created with all changes and pushed into the Git repository. So all changes can be tracked and reverted.

Git Repository Structure (For Advance Users)

Each ERF has their own folder and the folder containing all those ERF folders is a Git repository:


GFF resources (*.ut?, *.ifo, *.are and *.git) are stored in a JSON format, for example:

[
    4294967295,
    {
        "AddCost": [
            4,
            0
        ],
        "BaseItem": [
            5,
            22
        ],
        "DescIdentified": [
            12,
            {
                "s0": "A multifunctional combat cutter appears in your hand. It seems particulary effective against living tissue as the hot edge not only cuts but burns through flesh like butter."
            }
        ],
	...

Sot it possible (but far from perfect…) for the system to merge, revert and display changes. GFF resources have the extra extension .json added to them:

Remmber that this is only for the Git repository, the game server doesn't understand this JSON format. The game server load the resources from a clone of the repository that has the binary (GFF) format of the resources.

building/devsite.txt · Last modified: 2019/03/27 16:20 by Mavrixio

phpBB Appliance - Powered by TurnKey Linux