update docs
- update readme - add commands list
This commit is contained in:
parent
6fb07908c3
commit
754e296789
117
README.md
117
README.md
@ -4,75 +4,114 @@
|
||||
|
||||
# DiIiS Project
|
||||
|
||||
DiIiS is a fully-functional open-source local server for [Diablo III: Reaper of Souls](https://eu.diablo3.blizzard.com)
|
||||
DiIiS is a fully-functional open-source local server for [Diablo III: Reaper of Souls](https://eu.diablo3.blizzard.com).
|
||||
|
||||
## Features
|
||||
|
||||
- Implemented account creation system, authorization and lobby.
|
||||
- Fully implemented chat system.
|
||||
- Implemented Necromancer class mechanics.
|
||||
- Fully implemented chat system and friends.
|
||||
- Fully implemented clan system.
|
||||
- Opened all cosmetics in the in-game store.
|
||||
- Implemented basic DRLG.
|
||||
- Implemented basic DRLG (dungeon generator).
|
||||
- Implemented item generator with in-game affixes.
|
||||
- Implemented the basic mechanics of almost all active abilities for all classes.
|
||||
- Implemented a system of set items.
|
||||
- Implemented all main scripts for all story quests 5 acts.
|
||||
- Implemented basic scripts and generator for "Adventure Mode".
|
||||
- Created the basis for the "Challenge Nephalem Rifts" mode.
|
||||
- Implemented the basis for the "Challenge Nephalem Rifts" mode.
|
||||
- Implemented artificial intelligence for 80% of minions.
|
||||
- Implemented personal artificial intelligence for 40% of all monsters.
|
||||
- Implemented personal artificial intelligence for half of the Bosses.
|
||||
- Implemented LAN
|
||||
|
||||
## Restrictions
|
||||
|
||||
- Donate Store implementation is removed.
|
||||
- NAT support is hidden, but possible ;)
|
||||
|
||||
## Installation
|
||||
# Installation
|
||||
|
||||
## Supported Clients
|
||||
|
||||
Each version of the client includes changes to structures, opcodes and attributes.
|
||||
|
||||
The currently supported version of the client: **2.7.3.82785**
|
||||
|
||||
## Server Deploying
|
||||
|
||||
### General steps
|
||||
1. Install [PostgreSQL 9.5.25](https://www.enterprisedb.com/downloads/postgres-postgresql-downloads).
|
||||
2. Create databases in PostgreSQL: `diiis` and `worlds`
|
||||
3. Change you account and password in `database.Account.config` and `database.Worlds.conifg`
|
||||
4. Restore `worlds.backup` to `worlds` database
|
||||
5. Compile by [VS 2019/2022](https://visualstudio.microsoft.com/)
|
||||
6. Launch wait until server start, it creates a hierarchy.
|
||||
7. Create account using console: `!account add Login Password Tag`
|
||||
8. Install certificate `bnetserver.p12`, password - `123` (the game verifies the CA root certificates).
|
||||
9. Use Client Diablo 3 `2.7.3.82785`.
|
||||
9. Add redirects to the `hosts` file (`%WinDir%\System32\drivers\etc\hosts`):
|
||||
2. Create databases in PostgreSQL: `diiis` and `worlds`.
|
||||
3. Change you account and password in `database.Account.config` and `database.Worlds.conifg`.
|
||||
4. Restore `worlds.backup` to `worlds` database.
|
||||
5. Compile by [VS 2019/2022](https://visualstudio.microsoft.com/).
|
||||
6. [Skip this stage for local game] Copy the [config.ini](configs/config.ini) file to the server folder (It overwrites the default settings):
|
||||
- Update the parameter entries with your IP record on the network: `BindIP` and `PublicIP`.
|
||||
7. Launch wait until server start, it creates a hierarchy.
|
||||
8. Create user account(s) using console: `!account add Login Password Tag`
|
||||
|
||||
## Prepare Client
|
||||
|
||||
Do this for each client connecting to the server.
|
||||
|
||||
1. Get [supported client](#supported-clients) Diablo 3.
|
||||
|
||||
2. Install certificate [bnetserver.p12](src/DiIiS-NA/bnetserver.p12), password - `123` (the game verifies the CA root certificates).
|
||||
|
||||
3. Setting up redirects client to your server:
|
||||
|
||||
**Method #1 - Hosts**
|
||||
|
||||
Add redirects to the `hosts` file (`%WinDir%\System32\drivers\etc\hosts`):
|
||||
`127.0.0.1 us.actual.battle.net`
|
||||
`127.0.0.1 eu.actual.battle.net`
|
||||
11. Launch client (`x64` or `x86`) with arguments `"Diablo III64.exe" -launch -uid diablo3_engb`
|
||||
10. Login to the game using your credentials =)
|
||||
|
||||
### Using Docker
|
||||
Run `docker-compose up` inside `db` folder and continue from the 5th step in section above
|
||||
!After the modification the official Battle.Net application will not be able to connect to the server!
|
||||
|
||||
## Playing with friends
|
||||
**Method #2 - Modify main executable file**
|
||||
|
||||
1. Create new accounts using the console command:
|
||||
`!account add Login Password Tag`
|
||||
2. Copy the [config.ini](configs/config.ini) file to the server folder (It overwrites the default settings)
|
||||
3. In the IP fields - write your IP within the network. Update the parameter entries: `BindIP` and `PublicIP`.
|
||||
4. Other players must specify your IP address in the `hosts` file (`%WinDir%\System32\drivers\etc\hosts`).
|
||||
`192.168.1.1 us.actual.battle.net`
|
||||
`192.168.1.1 eu.actual.battle.net`
|
||||
5. Launch client (`x64` or `x86`) with arguments `"Diablo III64.exe" -launch -uid diablo3_engb`
|
||||
6. Login to the game using your credentials
|
||||
7. After that, when creating a game (in client), indicate the creation of a public game.
|
||||
7. Other players, when connecting, must also indicate a public game, and at the start they will connect to you.
|
||||
```c
|
||||
// Find null-terminated string enum and rewrite with HexEditor to your IP server.
|
||||
eu.actual.battle.net/
|
||||
us.actual.battle.net/
|
||||
cn.actual.battle.net/
|
||||
kr.actual.battle.net/
|
||||
```
|
||||
|
||||
## Flexible configuration
|
||||
4. Launch client (`x64` or `x86`) with arguments `"Diablo III64.exe" -launch`
|
||||
|
||||
5. Login to the game using your credentials.
|
||||
|
||||
6. [Skip this stage for local game] After that, when creating a game (in client), indicate the creation of a public game. Other players, when connecting, must also indicate a public game, and at the start they will connect to you.
|
||||
|
||||
7. You're in the game world!
|
||||
|
||||
## Using Docker
|
||||
|
||||
Run `docker-compose up` inside [db](db) folder and continue from the 5th step in section [server](#server-deploying).
|
||||
|
||||
# Server Configuration
|
||||
|
||||
## Global configuration
|
||||
|
||||
Using the configuration file you can easily override the [global world parameters](docs/game-world-settings.md).
|
||||
|
||||
## Minimum system requirements
|
||||
## Command system
|
||||
|
||||
Minimum system requirements for server
|
||||
The command system allows you to get control of the game world if you have rights. A list of commands is available [here](docs/commands-list.md).
|
||||
|
||||
- CPU: Xeon E5-2620V3 (2.40 GHz and 6 cores)
|
||||
- RAM: 4GB
|
||||
- HDD/SSD: 500MB
|
||||
# Issues
|
||||
|
||||
## Screenshots
|
||||
Check the [report form](docs/report-form.md) before submitting issue, this will help people save time!
|
||||
|
||||
# System requirements
|
||||
|
||||
| | **Entry-level** | **Mid-range** | **High-end** |
|
||||
| ---------- | ---------------------------- | ---------------------------- | ---------------------------- |
|
||||
| **CPU** | Intel Core i5 or AMD Ryzen 5 | Intel Core i7 or AMD Ryzen 7 | Intel Core i9 or AMD Ryzen 9 |
|
||||
| **Memory** | 4 GB RAM | 16 GB RAM | 64 GB RAM |
|
||||
| **Disk** | 500 MB | 1 GB | 1 GB |
|
||||
|
||||
# Screenshots
|
||||
|
||||
You can see more screenshots [here](SCREENSHOTS.md)
|
||||
|
||||
|
||||
41
docs/commands-list.md
Normal file
41
docs/commands-list.md
Normal file
@ -0,0 +1,41 @@
|
||||
# Server Commands List
|
||||
|
||||
## Account Commands
|
||||
|
||||
| Command Group | Command | Example | Description |
|
||||
| -------------- | -------------- | ----------------------------------- | ---------------------------------------------- |
|
||||
| Account Group | `show` | `!account show test@` | Shows information about given account |
|
||||
| | `add` | `!account add test@ 123456 test` | Allows you to add a new user account |
|
||||
| | `setpassword` | `!account setpassword test@ 123654` | Allows you to set a new password for account |
|
||||
| | `setbtag` | `!account setbtag test@ NonTest` | Allows you to change battle tag for account |
|
||||
| | `setuserlevel` | `!account setuserlevel admin` | Allows you to set a new user level for account |
|
||||
| Mute Command | `mute` | `!mute test@` | Disable chat functions for user |
|
||||
|
||||
## Game Commands
|
||||
|
||||
| Command Group | Command | Example | Description |
|
||||
| ----------------------- | ----------- | ------------------------ | ------------------------------------------------------------ |
|
||||
| Spawn command | `spawn` | `!spawn 6632` | Spawn a mob by ID |
|
||||
| Level up command | `levelup` | `!levelup 2` | Levels you character |
|
||||
| Unlock Artisans command | `unlockart` | `!unlockart` | Unlock all artisans for you in Campaign |
|
||||
| Platinum command | `platinum` | `!platinum 100` | Platinum for you |
|
||||
| Gold command | `gold` | `!gold 100` | Gold for you? |
|
||||
| Item command | `item` | `!item p71_ethereal_10` | Get any Item by Name |
|
||||
| Teleport command | `tp` | `!tp 71150` | Teleport character to World by ID |
|
||||
| SpeedHack command | `speed` | `!speed 2` | Increase you speed character |
|
||||
| Lookup Command | `lookup` | `!lookup item axe` | Display all founded in game objects with entered text in Name |
|
||||
| | | `!lookup world Tristram` | |
|
||||
| | | `!lookup actor zombie` | |
|
||||
| | | `!lookup power Punch` | |
|
||||
|
||||
# Item List
|
||||
|
||||
You can use the official website to search items: https://eu.diablo3.blizzard.com/en-us/item/
|
||||
|
||||
```c
|
||||
// Sample: Firebird's Breast
|
||||
// Url: https://eu.diablo3.blizzard.com/en-us/item/firebirds-breast-Unique_Chest_Set_06_x1
|
||||
// Name: Unique_Chest_Set_06_x1
|
||||
```
|
||||
|
||||
You can also access the elements created for testing during game development :)
|
||||
23
docs/report-form.md
Normal file
23
docs/report-form.md
Normal file
@ -0,0 +1,23 @@
|
||||
# Issue report form
|
||||
|
||||
## Report form related to server deployment problem
|
||||
|
||||
1. Brief description of the problem.
|
||||
2. Operating system (version, architecture).
|
||||
3. Client version and architecture.
|
||||
4. Sequence of actions.
|
||||
|
||||
## Report form related to critical errors and crashes
|
||||
|
||||
1. Brief description of the problem.
|
||||
2. Operating system (version, architecture).
|
||||
3. Client version and architecture.
|
||||
4. **Server log** before the crash (if possible).
|
||||
5. Crash address and callstack (if possible).
|
||||
|
||||
## Report form related to the logic of the game world
|
||||
|
||||
1. Brief description of the problem.
|
||||
2. Operating system (version, architecture).
|
||||
3. Client version and architecture.
|
||||
5. Recent **server log**.
|
||||
Loading…
Reference in New Issue
user.block.title