197e61c442
Extract World SNO ids into enum and replace int "magic constants" |
||
---|---|---|
configs | ||
db | ||
docs | ||
pictures | ||
src | ||
.gitattributes | ||
.gitignore | ||
LICENSE | ||
README.md | ||
SCREENSHOTS.md |
DiIiS Project
DiIiS is a fully-functional open-source local server for Diablo III: Reaper of Souls.
Features
- Implemented account creation system, authorization and lobby.
- Implemented Necromancer class mechanics.
- Fully implemented chat system and friends.
- Fully implemented clan system.
- 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".
- 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
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
- Install PostgreSQL 9.5.25.
- Create databases in PostgreSQL:
diiis
andworlds
. - Change you account and password in
database.Account.config
anddatabase.Worlds.conifg
. - Restore
worlds.backup
toworlds
database. - Compile by VS 2019/2022.
- [Skip this stage for local game] Copy the config.ini file to the server folder (It overwrites the default settings):
- Update the parameter entries with your IP record on the network:
BindIP
andPublicIP
.
- Update the parameter entries with your IP record on the network:
- Launch wait until server start, it creates a hierarchy.
- Create user account(s) using console:
!account add Login Password Tag
Prepare Client
Do this for each client connecting to the server.
-
Get supported client Diablo 3.
-
Install certificate bnetserver.p12, password -
123
(the game verifies the CA root certificates). -
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
!After the modification the official Battle.Net application will not be able to connect to the server!
Method #2 - Modify main executable file
// 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/
-
Launch client (
x64
orx86
) with arguments"Diablo III64.exe" -launch
-
Login to the game using your credentials.
-
[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.
-
You're in the game world!
Using Docker
Run docker-compose up
inside db folder and continue from the 5th step in section server.
Server Configuration
Global configuration
Using the configuration file you can easily override the global world parameters.
Command system
The command system allows you to get control of the game world if you have rights. A list of commands is available here.
Issues
Check the report form 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