Dedicated Extensible Server that deserves your attention!
Finally, the writing of version 2.0 is nearing completion. Some plans (e.g. native and JAR extensions) have been dropped until DESrv 3.0. Now DESrv is almost stable and already supports independent extensions (plugins). Soon the contents of this branch (desrv2.0
) will be merged into the master
branch.
DESrv is a framework-like server that helps you create and manage server assemblies using one convient interface.
Think that is a framework library that provides a little interface for networking apps and also a orchestration utility for them.
The key component of DESrv is the extensions - thoose "apps" that works with networking (but not limited to that!). There are APIs for them to make it easier to work with. For example, wrappers for some protocols, command manager, logger... All extensions are loaded into the Core and, in theory, can communicate with each other via reflection, but DESrv supports a system of addons and dependencies for convenience.
For 2.0 branch installation is available only from the sources.
Prerequisites:
- An OS that is supported by .NET - either Linux or Windows
- macOS NOT tested but SHOULD work
- Git (any version)
- (optional) Extensions what you'll test
- (optional) Internet connection
- (optional) Connection client
- .NET SDK 7.0 or above and optionally Visual Studio 2022 (17)
- OR Docker + Docker Compose
At first clone this repository:
git clone https://github.com/Blusutils/DESrv.git
cd DESrv
# if in some reason the branch is not desrv2.0, switch to it manually
git switch desrv2.0
Run following:
dotnet restore DESrv.sln
dotnet run DESrv/DESrv.csproj -c Debug
# or: dotnet build DESrv/DESrv.csproj -c Debug
# or dotnet publish DESrv/DESrv.csproj -c Debug
# or build solution directly from VS
Ensure you have Docker Compose and run:
docker compose build
docker compose up
Documentation for DESrv is available on GitHub Wiki page.
See CONTRIBUTING for more info.
DESrv is licensed under the GNU Affero General Public License v3.0.
Dedicated Extendible Server - framework-like solution designed to simplify creation and management of servers in one place, without trivial boilerplates.
Copyright (C) 2023 Blusutils, EgorBron
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published
by the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.
Following components are licensed under the GNU Lesser General Public License v3.0: