Skip to content

Commit 06fa3e4

Browse files
Initial commit
Adding all initial source and documentation for usage.
1 parent b5fa3ea commit 06fa3e4

File tree

5 files changed

+861
-2
lines changed

5 files changed

+861
-2
lines changed

.gitignore

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
# Binaries
2+
**/bin/
3+
**/obj/
4+
5+
# Visual Studio files
6+
**/*.suo
7+
**/*.user
8+
**/*.vspscc
9+
**/*.vssscc
10+
**/*.cache
11+
**/*.dll.refresh
12+
**/Generated_Code/
13+
14+
# Build results
15+
[Dd]ebug/
16+
[Rr]elease/
17+
x64/
18+
build/
19+
[Bb]in/
20+
21+
# NuGet
22+
**/packages/
23+
24+
# MSTest test Results
25+
[Tt]est[Rr]esult*/
26+
[Bb]uild[Ll]og.*
27+
28+
# .NET Core
29+
project.lock.json
30+
project.fragment.lock.json
31+
artifacts/
32+
33+
# StyleCop
34+
StyleCopReport.xml
35+
36+
# Resharper (if used)
37+
_ReSharper*/
38+
*.sln.DotSettings.user
39+
40+
# Visual Studio Code
41+
.vscode/

README.md

Lines changed: 239 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,239 @@
1-
# StatusValidator
2-
Team Lumina's Open Source status validator application.
1+
# Lumina Status Validator
2+
3+
The Lumina Status Validator is a command-line application that allows you to monitor the status of multiple servers. It provides real-time information about the server's availability, latency, and maintenance mode. You can configure the refresh time, add, edit, or remove servers, and query specific ports on the servers.
4+
5+
## Getting Started
6+
7+
### Installation
8+
9+
To use the Lumina Status Validator application, follow these steps:
10+
11+
1. Download the application files to your local machine.
12+
2. Ensure that you have the [.NET runtime](https://dotnet.microsoft.com/download) installed on your system.
13+
14+
### Launching the Application
15+
16+
Open a command prompt or terminal, navigate to the directory where the application files are located, and run the following command to start the application:
17+
18+
```bash
19+
dotnet run
20+
```
21+
22+
## Available Commands
23+
24+
The Lumina Status Validator supports the following commands:
25+
26+
### help
27+
28+
Displays the available commands and their usage.
29+
30+
```bash
31+
help
32+
```
33+
34+
### info
35+
36+
Retrieves detailed information about a specific server.
37+
38+
```bash
39+
info <ServerName>
40+
```
41+
42+
- `<ServerName>`: The name of the server to retrieve information for. Enclose the server name in double quotes if it contains spaces.
43+
44+
### maintenance
45+
46+
Toggles the maintenance mode for a server. When a server is in maintenance mode, it is considered offline.
47+
48+
```bash
49+
maintenance <ServerName>
50+
```
51+
52+
- `<ServerName>`: The name of the server to toggle maintenance mode for. Enclose the server name in double quotes if it contains spaces.
53+
54+
### config
55+
56+
Configures the refresh time for server status checks.
57+
58+
```bash
59+
config <Minutes>
60+
```
61+
62+
- `<Minutes>`: The refresh time in minutes.
63+
64+
### clear
65+
66+
Clears the screen and displays the latest information about the servers.
67+
68+
```bash
69+
clear
70+
```
71+
72+
### exit
73+
74+
Exits the application.
75+
76+
```bash
77+
exit
78+
```
79+
80+
### add
81+
82+
Adds a new server to the server list.
83+
84+
```bash
85+
add
86+
```
87+
88+
You will be prompted to enter the server name and IP address.
89+
90+
### edit
91+
92+
Edits an existing server in the server list.
93+
94+
```bash
95+
edit
96+
```
97+
98+
You will be prompted to enter the server name and the new IP address.
99+
100+
### remove
101+
102+
Removes a server from the server list.
103+
104+
```bash
105+
remove
106+
```
107+
108+
You will be prompted to enter the server name.
109+
110+
### query
111+
112+
Queries a specific port on a server to check its status.
113+
114+
```bash
115+
query <ServerName> <PortNumber>
116+
```
117+
118+
- `<ServerName>`: The name of the server to query. Enclose the server name in double quotes if it contains spaces.
119+
- `<PortNumber>`: The port number to query.
120+
121+
## Examples
122+
123+
Here are some examples to help you understand how to use the Lumina Status Validator:
124+
125+
- Retrieve detailed information about a server named "Game Server":
126+
127+
```bash
128+
info "Game Server"
129+
```
130+
131+
Output:
132+
133+
```
134+
Server: Game Server
135+
IP Address: 192.168.0.100
136+
Status: Online
137+
Latency: 5 ms
138+
```
139+
140+
- Toggle maintenance mode for a server named "Database Server":
141+
142+
```bash
143+
maintenance "Database Server"
144+
```
145+
146+
Output:
147+
148+
```
149+
Server: Database Server is now in maintenance mode.
150+
```
151+
152+
- Configure the refresh time to 10 minutes:
153+
154+
```bash
155+
config 10
156+
```
157+
158+
Output:
159+
160+
```
161+
Refresh time has been set to 10 minutes.
162+
```
163+
164+
- Add a new server to the server list:
165+
166+
```bash
167+
add
168+
```
169+
170+
Prompt:
171+
172+
```
173+
Enter the server name: New Server
174+
Enter the server IP address: 192.168.0.200
175+
```
176+
177+
Output:
178+
179+
```
180+
Server added successfully.
181+
```
182+
183+
- Remove a server from the server list:
184+
185+
```bash
186+
remove
187+
```
188+
189+
Prompt:
190+
191+
```
192+
Enter the server name: Old Server
193+
```
194+
195+
Output:
196+
197+
```
198+
Server removed successfully.
199+
```
200+
201+
- Query port 8080 on a server named "Web Server":
202+
203+
```bash
204+
query "Web Server" 8080
205+
```
206+
207+
Output:
208+
209+
```
210+
Port 8080 on server 'Web Server' is open.
211+
```
212+
213+
## Configuration
214+
215+
The Lumina Status Validator application provides configuration options for managing servers and the refresh time.
216+
217+
### Server List
218+
219+
The server list is stored in a JSON file named `config.json`. It contains the server names, IP addresses, and maintenance mode status. The file is automatically created and loaded when the application starts.
220+
221+
You can manually edit the `config.json` file to add, remove, or modify server entries.
222+
223+
### Refresh Time
224+
225+
The refresh time determines how often the application updates the server status. By default, the refresh time is set to 5 minutes. You can configure the refresh time using the `config` command followed by the desired number of minutes.
226+
227+
For example, to set the refresh time to
228+
229+
10 minutes:
230+
231+
```bash
232+
config 10
233+
```
234+
235+
The application's title bar displays the current refresh time, next refresh countdown, and the last refresh time (in UTC). It updates in real-time to provide status information.
236+
237+
## Conclusion
238+
239+
The Lumina Status Validator offers a compact and easy-to-use monitoring solution for efficiently managing the availability and status of multiple servers. With its intuitive command structure, customization options, and streamlined workflow, Lumina Status Validator simplifies server monitoring tasks and provides real-time insights to address any issues promptly. Whether you are a system administrator or an IT professional, Lumina Status Validator empowers you to proactively maintain the optimal performance of your server infrastructure. Start using Lumina Status Validator today and experience the convenience and efficiency it brings to server monitoring.

Src/ServiceMon.sln

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
2+
Microsoft Visual Studio Solution File, Format Version 12.00
3+
# Visual Studio Version 17
4+
VisualStudioVersion = 17.6.33815.320
5+
MinimumVisualStudioVersion = 10.0.40219.1
6+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ServiceMon", "ServiceMon\ServiceMon.csproj", "{8A83BF57-741F-476A-9109-ECF4C789312C}"
7+
EndProject
8+
Global
9+
GlobalSection(SolutionConfigurationPlatforms) = preSolution
10+
Debug|Any CPU = Debug|Any CPU
11+
Release|Any CPU = Release|Any CPU
12+
EndGlobalSection
13+
GlobalSection(ProjectConfigurationPlatforms) = postSolution
14+
{8A83BF57-741F-476A-9109-ECF4C789312C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
15+
{8A83BF57-741F-476A-9109-ECF4C789312C}.Debug|Any CPU.Build.0 = Debug|Any CPU
16+
{8A83BF57-741F-476A-9109-ECF4C789312C}.Release|Any CPU.ActiveCfg = Release|Any CPU
17+
{8A83BF57-741F-476A-9109-ECF4C789312C}.Release|Any CPU.Build.0 = Release|Any CPU
18+
EndGlobalSection
19+
GlobalSection(SolutionProperties) = preSolution
20+
HideSolutionNode = FALSE
21+
EndGlobalSection
22+
GlobalSection(ExtensibilityGlobals) = postSolution
23+
SolutionGuid = {C6045116-5C53-4422-8DB7-C985FF4BE3FF}
24+
EndGlobalSection
25+
EndGlobal

0 commit comments

Comments
 (0)