Server Emulator for the Online Game Wizardry Online.
The project is intended for educational purpose only.
- Index: https://github.com/necromancyonline/necromancy-server/wiki
- ウィキペディア: https://github.com/necromancyonline/necromancy-server/wiki/%E5%85%A5%E9%96%80
Please check the wiki for additional information.
git clone https://github.com/necromancyonline/necromancy-server.git
https://dotnet.microsoft.com/download
Minimum version of "Visual Studio 2019 v16.3" or later.
Open the necromancy.sln
-file
Download IDE: https://code.visualstudio.com/download
C# Plugin: https://marketplace.visualstudio.com/items?itemName=ms-vscode.csharp
Open the Project Folder:
\necromancy-server
https://www.jetbrains.com/rider/
Open the necromancy.sln
-file
Run the Necromancy.Cli
-Project
Name | Type | Uniqueness | Constant | Description |
---|---|---|---|---|
InstanceId | ObjectId | Globally | No | Identifies a object uniquely globally (No duplicate Ids are possible, can distinguish between anything) |
Id | DatabaseId | per Domain | Yes | Identifies a object uniquely among its domain. (Can distinguish between two npcs with the same NpcId) |
NpcId | SerialId | None | Yes | Identifies a type of npc (Multiple npc can exist with same NpcId) |
MonsterId | SerialId | None | Yes | Identifies a type of monster (Multiple monster can exist with same MonsterId) |
ModelId | SerialId | None | Yes | Identifies a type of model (Multiple model can exist with same ModelId) |
The work on this project should happen via feature-branches
Feature branches (or sometimes called topic branches) are used to develop new features for the upcoming or a distant future release. When starting development of a feature, the target release in which this feature will be incorporated may well be unknown at that point. The essence of a feature branch is that it exists as long as the feature is in development, but will eventually be merged back into develop (to definitely add the new feature to the upcoming release) or discarded (in case of a disappointing experiment).
- Create a new
feature/feature-name
orfix/bug-fix-name
branch from master - Push all your changes to that branch
- Create a Pull Request to merge that branch into
master
- Do not use Console.WriteLine etc, use the specially designed logger.
- Own the Code: extract solutions, discard libraries.
- Annotate functions with documentation comments (https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/language-specification/documentation-comments).
Object Name | Notation | Char Mask | Underscores |
---|---|---|---|
Class name | PascalCase | [A-z][0-9] | No |
Constructor name | PascalCase | [A-z][0-9] | No |
Method name | PascalCase | [A-z][0-9] | No |
Method arguments | camelCase | [A-z][0-9] | No |
Local variables | camelCase | [A-z][0-9] | No |
Constants name | PascalCase | [A-z][0-9] | No |
Field name | _camelCase | [A-z][0-9] | Yes |
Properties name | PascalCase | [A-z][0-9] | No |
Delegate name | PascalCase | [A-z] | No |
Enum type name | PascalCase | [A-z] | No |
- Unknownone69 @Unknownone69
- WizOnHiraeth @WizOnHiraeth
- blackice36 @blackice36
- Aidoxilia @Aidoxilia
- taewyth @taewyth
- koffeeMist @koffeeMist
- WIZONMAGLOVE @WIZONMAGLOVE
- Nothilvien @sebastian-heinz
- System.Data.SQLite (https://system.data.sqlite.org/)
- MySqlConnector (https://www.nuget.org/packages/MySqlConnector)
- bcrypt.net (https://github.com/BcryptNet/bcrypt.net)
- .NET Standard (https://github.com/dotnet/standard)
- Arrowgene.Services (https://github.com/Arrowgene/Arrowgene.Services)