# Folder Structure

### Folders, File Structure

DLL files must be placed under folder Plugins, you cant place DLL files under subdirectories, otherwise plugin will not load.

#### Example

```
SERVER ROOT/
    Plugins/
        server/
            some_import_data.bin
        client/
            [PLATFORM_NAME]/
                some_important_sound.ogg
        FirstPlugin.dll
        SecondPlugin.dll
```

### Resources

There two types of resources that must be placed in their named folder:

* "server" - this resources can be accessed only on server side.
* "client" - this resources can be accessed only on client side.

### Platform names

Possible values:

* Windows
* Linux
* OSX
* Android
* iOS

You can load this resources from plugins using **ScriptHelper.LoadClip/LoadTexture/LoadText/LoadData/LoadBundle**

### Plugins Sync

Connecting to server splitted into three steps:

1. Account identification.
2. Plugin synchronization.
3. Acquiring server info.

Account identification step used to get user info and communicate with master server before player was created on server.\
Plugin identifation step used to send all server plugins and their client/shared resources before player was created, to make sure that rooms/items/players will properly load plugin classes.\
Acquiring server info step used to get all another game information from server.
