Skip to content

Commit 1084bf9

Browse files
dgibbs64gitbook-bot
authored andcommitted
GITBOOK-35: change request with no subject merged in GitBook
1 parent a9a53bd commit 1084bf9

7 files changed

+51
-53
lines changed

SUMMARY.md

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,14 @@
11
# Table of contents
22

33
* [Home](README.md)
4-
* [Programming Language](programming-language.md)
54

65
## Getting Started
76

87
* [Getting Started](getting-started/feature-development-quick-guide.md)
8+
* [Programming Language](getting-started/programming-language.md)
99
* [Development Software](getting-started/development-software.md)
1010
* [Test Environment](getting-started/test-environment.md)
1111
* [Developer Commands](getting-started/developer-commands.md)
12-
* [Developing LinuxGSM](getting-started/developing-linuxgsm.md)
1312
* [Adding a new Game Server](getting-started/adding-a-new-game-server.md)
1413

1514
## Workflow
@@ -28,7 +27,7 @@
2827
* [Commands](technical/commands.md)
2928
* [Exit Codes](technical/exit-codes.md)
3029
* [Functions](technical/functions.md)
31-
* [Modules](technical/modules/README.md)
30+
* [Modules](technical/modules.md)
3231
* [Fixes](technical/modules/fixes.md)
3332
* [Core](technical/modules/core.md)
3433
* [Game Server Querying](technical/game-server-querying.md)

getting-started/developer-commands.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,15 @@ This command also enables dev debug that outputs everything LinuxGSM is doing to
2323
./gameserver dev
2424
```
2525

26+
### Detect Details
27+
28+
Detects variables that are set up to be displayed in details.
29+
30+
```
31+
./gameserver detect-details
32+
./gameserver ddt
33+
```
34+
2635
### Detect Dependencies
2736

2837
Detects dependencies the server requires by checking the contents of `serverfiles`. The output suggests the install command required.

getting-started/developing-linuxgsm.md

Lines changed: 0 additions & 19 deletions
This file was deleted.
Lines changed: 15 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,31 @@
11
# Getting Started
22

3+
<figure><img src="../.gitbook/assets/LinuxGSM_github_header.jpg" alt=""><figcaption></figcaption></figure>
4+
35
## Intro
46

57
This guide will give a brief overview of how to get started developing LinuxGSM by running through some of the basics of using GitHub and the tools you need. This is not a comprehensive guide to GitHub but should help with getting started. There are plenty of resources available online such as the [GitHub help documentation](https://help.github.com/en/github) and [guides](https://guides.github.com/) that will help you learn more.
68

79
## Choosing an Issue to Develop
810

9-
Whenever someone raises a new feature request or bug is done on the [GitHub Issues](https://github.com/GameServerManagers/LinuxGSM/issues) page. There is a raft of issues with different levels of complexity. Choosing an issue to work on is down to you as an individual, however, it is important you enjoy working on it. It is recommended that a simple issue is picked first and more complex issues are attempted as you get used to LinuxGSM. Popular issues to attempt are [type:Server Requests](https://github.com/GameServerManagers/LinuxGSM/issues?q=is%3Aissue+is%3Aopen+label%3A%22type%3A+server+request%22) as often developers want to have a game server added to the project. Be warned however some game servers can be more difficult than others to develop.
11+
Whenever someone raises a new feature request or bug is done on the [GitHub Issues](https://github.com/GameServerManagers/LinuxGSM/issues) page. There is a raft of issues with different levels of complexity. Choosing an issue to work on is down to you as an individual, however, it is important you enjoy working on it.&#x20;
1012

11-
To help filter issues GitHub uses [labels](https://help.github.com/en/github/managing-your-work-on-github/about-labels) to help identify the types of issues. Common labels include `type:bug`, `type:feature`, `command:monitor`, `game: 7 Days to Die`. Labels are split into label types such as type, command, game, info etc to assist in triage.
13+
When reviewing an issue it is a good idea to look at factors such as complexity, scope, and time to develop.&#x20;
1214

13-
## Starting Development
15+
It is recommended that a simple issue is picked first as they are more likley to be merged quickly.
16+
17+
Popular issues to attempt are [type:Server Requests](https://github.com/GameServerManagers/LinuxGSM/issues?q=is%3Aissue+is%3Aopen+label%3A%22type%3A+server+request%22) as often developers want to have a game server added to the project. Be warned however some game servers can be more difficult than others to develop.
1418

15-
To begin working on LinuxGSM you need to [fork](https://help.github.com/en/github/getting-started-with-github/fork-a-repo) the LinuxGSM repository once forked you will need to [clone](https://help.github.com/en/github/creating-cloning-and-archiving-repositories/cloning-a-repository-from-github) your new repository to your local machine using your chosen git client. Once cloned it is possible to edit the code on your local machine using your text editor of choice.
19+
To help filter issues GitHub uses [labels](https://help.github.com/en/github/managing-your-work-on-github/about-labels) to help identify the types of issues. Common labels include `type:bug`, `type:feature`, `command:monitor`, `game: 7 Days to Die`. Labels are split into label types such as type, command, game, and info to aid in prioritising and managing them.
20+
21+
## Starting Development
1622

17-
It is recommended you create a [branch](/@linuxgsm/s/linuxgsm-dev/branching) to develop your code. The branch should use the Gitflow methodology and should be named `feature/[featurename]`.
23+
To begin working on LinuxGSM you need to [fork](https://help.github.com/en/github/getting-started-with-github/fork-a-repo) the LinuxGSM repository once forked you will need to [clone](https://help.github.com/en/github/creating-cloning-and-archiving-repositories/cloning-a-repository-from-github) your new repository to your local machine using your chosen git client. Once cloned it is possible to edit the code on your local machine using your text editor of choice.
1824

19-
Once a change has been made and saved the change will need to be committed to your local repo. When using commit it is important to leave a useful message to describe the change, this is covered in [Conventional Commits](/@linuxgsm/s/linuxgsm-dev/conventional-commits). When you are ready to send your commits to your remote fork you will need to [push ](https://help.github.com/en/github/using-git/pushing-commits-to-a-remote-repository)the updates.
25+
It is recommended you create a [branch](../@linuxgsm/s/linuxgsm-dev/branching/) to develop your code. The branch should use the Gitflow methodology and should be named `feature/[featurename]`.
2026

21-
##
27+
Once a change has been made and saved the change will need to be committed to your local repo. When using commit it is important to leave a useful message to describe the change, this is covered in [Conventional Commits](../@linuxgsm/s/linuxgsm-dev/conventional-commits/). When you are ready to send your commits to your remote fork you will need to [push ](https://help.github.com/en/github/using-git/pushing-commits-to-a-remote-repository)the updates.
2228

23-
##
29+
##
2430

31+
##

programming-language.md renamed to getting-started/programming-language.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Programming Language
22

3-
![](.gitbook/assets/68747470733a2f2f63646e2e7261776769742e636f6d2f6f64622f6f6666696369616c2d626173682d6c6f676f2f6d617374.png)
3+
![](../.gitbook/assets/68747470733a2f2f63646e2e7261776769742e636f6d2f6f64622f6f6666696369616c2d626173682d6c6f676f2f6d617374.png)
44

55
LinuxGSM is written in [Bourne-Again Shell](https://en.wikipedia.org/wiki/Bash\_\(Unix\_shell\)) (BASH) Script sometimes just known as Shell Script.
66

getting-started/test-environment.md

Lines changed: 24 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,59 +1,62 @@
11
# Test Environment
22

3-
LinuxGSM runs on Linux \(obviously\) and as such requires a Linux test environment to test game servers and code. If you are running a LInux desktop then you can run LinuxGSM using your desktop. However, Most developers will be running Windows but there are multiple ways to create a Linux test environment.
3+
LinuxGSM is designed to run on Linux, and therefore, a Linux test environment is essential for testing game servers and code changes. Whether you're already using a Linux desktop or primarily work on Windows, there are multiple ways to create a suitable Linux test environment. Additionally, if you are using Windows, you can leverage Windows Subsystem for Linux (WSL) to streamline your development process.
4+
5+
## Distro
6+
7+
LinuxGSM is primarily developed on Debian-based distros but is also tested to work on RedHat-based distros. Keep in mind that different distributions and versions may have varying versions of BASH and other dependencies. Ensure that your chosen distribution is still officially supported by the vendor and that it's compatible with the game server you intend to work with.
48

59
## Selecting a Test Environment
610

7-
There are mulitple ways to setup a test enviroment.
11+
### **Using a Linux Desktop**
812

9-
### Distro
13+
If you're already using a Linux desktop, you can run LinuxGSM directly on your desktop environment. This approach simplifies the setup process since LinuxGSM is natively compatible with Linux distributions.
1014

11-
LinuxGSM is primarily developed on Ubuntu but also tested to work on CentOS and Debian. Different versions of a distro will also have different versions of BASH etc. So be mindful of newer features that might not be available on older supported distros. In general, LinuxGSM will support distros that are still officially supported by the vendor but is also reliant on if the Game Server also supports the distro. See [distro](https://docs.linuxgsm.com/linux/distro) for more info.
15+
### **Windows with WSL**
1216

13-
### Virtual Machine
17+
For developers using Windows, Windows Subsystem for Linux (WSL) provides an efficient way to create a Linux test environment without dual-booting or using virtual machines. You can install a Linux distribution of your choice via WSL and then proceed to set up LinuxGSM within that distribution.
1418

15-
Creating a virtual machine on a desktop or laptop is a good way to create a development environment. Using Virtual Box and downloading Ubuntu Server iso a test environment can be created quickly. However, to test internet functionality there may be a requirement to open ports on a home router.
19+
### Virtual Machine
1620

17-
If spare computer hardware is available, setting up an ESXi or Xen Server may be a good option for a development environment.
21+
Creating a virtual machine on your desktop or laptop is a versatile way to create a development environment. You can use tools like VirtualBox to download an Ubuntu Server ISO and quickly set up a test environment. Note that for testing internet functionality, you may need to configure port forwarding on your home router.
1822

19-
* [Virtual Box](https://www.virtualbox.org/) \(recommended\)
23+
* [Virtual Box](https://www.virtualbox.org/)
2024
* [VMware Player](https://www.vmware.com/uk/products/workstation-player.html)
2125
* [ESXI Server](https://www.vmware.com/uk/products/esxi-and-esx.html)
2226
* [Xen](https://xenproject.org/)
2327
* [Proxmox](https://www.proxmox.com/)
2428

2529
### Internet Server
2630

27-
VPS and dedicated servers can be rented relatively cheaply and is a good way to test LinuxGSM in the environment it is mostly used \(online\). There are several providers like Linode that provide servers from $5 p/m and allow the quick deployment of servers with different distros. Some game servers do have higher system requires than others so a more powerful VPS may be required.
31+
Renting a virtual private server (VPS) or dedicated server can be an excellent choice for testing LinuxGSM in an online environment, which closely resembles how it's commonly used. Several providers offer cost-effective server options, making it accessible for testing purposes.
2832

29-
There are many providers to choose from but below LinuxGSM developers have used previously.
33+
Notable providers include:
3034

3135
* [Linode](https://linode.com/)
3236
* [Digital Ocean](https://www.digitalocean.com/)
37+
* [OVHCloud](https://ovhcloud.com)
3338
* [Oneprovider](https://oneprovider.com/)
3439
* [Kimsufi](https://www.kimsufi.com/)
3540

41+
## **Testing Your Code**
3642

37-
38-
At some point, you will need to test the code you have worked on. This can be done by downloading LinuxGSM and updating the repo and branch details to match your fork.
39-
40-
Login to your development environment and begin installing LinuxGSM
43+
At some point, you will need to test the code you have worked on. This can be done by downloading LinuxGSM and updating the repo and branch details to match your fork.
4144

4245
#### Setup Testing Environment
4346

44-
Login to your develop environment and begin installing LinuxGSM.
47+
Login to your development environment and begin installing LinuxGSM.
4548

46-
1. Create a user and log in.
49+
1. Create a user and log in.
4750

48-
```text
51+
```
4952
adduser linuxgsm
5053
```
5154

52-
```text
55+
```
5356
passwd linuxgsm
5457
```
5558

56-
```text
59+
```
5760
su - linuxgsm
5861
```
5962

@@ -90,7 +93,7 @@ githubbranch="master"
9093

9194
Every time you push to remote it is possible to pull the changes to the test environment. This is done by using the development command `clear-functions`.
9295

93-
To use clear-functions activate development mode.
96+
To use clear-modules activate development mode.
9497

9598
```bash
9699
./gameserver development
@@ -99,6 +102,5 @@ To use clear-functions activate development mode.
99102
Run the command.
100103

101104
```bash
102-
./gameserver clear-functions
105+
./gameserver clear-modules
103106
```
104-
File renamed without changes.

0 commit comments

Comments
 (0)