Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

Crystalshire C# Server


Mikamesu
 Share

Recommended Posts

This is a shorter version of the engine, it was designed to be a mmo that is not practically a rpg.
So there is no combat, shops, spells, features and the bank.

**Requirements:
.NET Framework 4.7.2
MySQL**

**(Microsoft Visual C ++ Redistributable ????)**

Download:
Release Download:
https://mega.nz/#!4dxhCCZJ!_cdBiooaxlUqkfWt860c29Mqli2e_sOUdGCIaxzurHc

Source: https://github.com/DragonicK/Crystalshire-C-Server

Client Source: https://mega.nz/#!oFpxRYIZ!Ebuh1Fzdmn78SmjMOhmhCwcWUWGkVNNoOjT8x7uLmNQ



Testing Accounts:
Login: akaruz
Password:123456

Login: dragonicK
Password:123456

Servers:
I used my engine servers as a base to get the process moving forward.
The login server performs user authentication and transfers the information to the game server.

![alt text](https://i.imgur.com/dHnCahh.png)

Game Server is the game's processing server.

![alt text](https://i.imgur.com/qRAW97W.png)

To enter the game the two servers must be open and connected to the database.

Server Settings:
Login Server:


```
// ???????????????????????
// Este arquivo deve estar no modo UNICODE.
//------------------------------------------------------//
// SERVER INFO //
//------------------------------------------------------//
Port = 7002
MaximumConnections = 5000
Sleep = 1
UseEmailAsLogin = 0
GeoIp = 0
CheckSum = 0

IpBlock = 1
IpBlockLifeTime = 600000

FilterCheckAccessTime = 3000
FilterIpLifeTime = 120000
IpMaxAttempt = 1000
IpMaxAccessCount = 1000
```

MaximumConnections: The maximum number of connections has not been set.
UseEmailAsLogin: Uses email as user login.
GeoIp: Checks, refuses, or accepts addresses geographically. The addresses and countries that can be blocked are in the GeoIp.lua file.
CheckSum: Not implemented.
IpBlock: Indicates that the locking system is active.
IpBlockTime: Time an ip remains locked in the system.
The addresses that can be blocked are in the BlockList.lua file.

FilterCheckAccessTime: Time between each access of an ip address on the server.
If an address reaches the values of IpMaxAttempt or IpMaxAccessCount it is blocked by the time of FilterIpLifeTime.

GameServerPort: Address for connection to the game server.

Game Server:

```
// ???????????????????????
// Este arquivo DEVE estar no modo UNICODE.
//------------------------------------------------------//
// SERVER INFO //
//------------------------------------------------------//
Port = 7001
MaximumConnections = 5000
Sleep = 1
UseEmailAsLogin = 0

IpBlock = 1
IpBlockLifeTime = 600000

FilterCheckAccessTime = 3500
FilterIpLifeTime = 120000
IpMaxAttempt = 15
IpMaxAccessCount = 10

//------------------------------------------------------//
// LOGIN SERVER //
//------------------------------------------------------//
LoginPort = 7003

//------------------------------------------------------//
// MSSQL SERVER //
//------------------------------------------------------//
DataSource = 127.0.0.1
Database = crystalshire
UserID = root
Password =
MinPoolSize = 5
MaxPoolSize = 100

```

LoginPort: Port where the connection to the login server is made.

Game Settings:
Administrator access is set for the account, not just the character. You can change the value in the user table in AccessLevel.

[link text](AccessLevel {
Restrict = 0
Normal = 1
Monitor = 2
GameMaster = 3
Administrato = 4
})

The deletion and creation settings are in the Character.lua file in the Data folder.
Deletion of the character occurs only at a scheduled time.

![alt text](https://i.imgur.com/XTzP1fQ.png)


Each class has its own file, just follow the example in the Classes folder.

Animations, Conversations, Classes, Items and Npcs are in the same pattern: When the user enters the game, the data is sent.

The map is NOT sent to the client.
When an edit is made on the map and is saved. A copy goes to the server that saves this data, for server-only use.
The map that is read by the client is only saved on the client.

After the game is ready, you must use an auto updater to update the maps for other people.

Client:
The creator of the game Crystalshire (Robin Perris) made it clear that he does not want anyone to use his graphics.
Therefore, some client features have been removed and others have been modified but not all.

![alt text](https://i.imgur.com/Gg2RsiH.png)


**Dragonick Credits for the modifications and creation of the server in C # and Robbin perris by the base of the engine.**
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...