Downloading the source code: Difference between revisions
m (Minor adjustments to page, creation of prompt for coders / Admins to contribute to actual operation of servers from their end) |
Alexkar598 (talk | contribs) m (Its way larger than 30mb) |
||
Line 8: | Line 8: | ||
The /tg/station 13 source code is under [http://www.gnu.org/licenses/agpl-3.0.html GNU AGPL v3 license] and the assets are [http://freedomdefined.org/Licenses/CC-BY-SA CC-BY-SA]. | The /tg/station 13 source code is under [http://www.gnu.org/licenses/agpl-3.0.html GNU AGPL v3 license] and the assets are [http://freedomdefined.org/Licenses/CC-BY-SA CC-BY-SA]. | ||
--> | --> | ||
== Downloading == | ==Downloading== | ||
We use GitHub to host our project. | We use GitHub to host our project. | ||
Line 14: | Line 14: | ||
A zip download is available here: [https://github.com/yogstation13/Yogstation-TG] | A zip download is available here: [https://github.com/yogstation13/Yogstation-TG] | ||
If you don't want to download | If you don't want to download 300MB of data every time an update is made, you can [[Setting up git|follow this guide]] to set up TortoiseGit. | ||
[[File:Download za git.png]] | [[File:Download za git.png]] | ||
== Hosting a server == | ==Hosting a server== | ||
To get a simple server running: | To get a simple server running: | ||
* Download the source code as explained [[Downloading_the_source_code#Downloading|above]] | |||
* Open yogstation.dme in dream maker (double click it) | *Download the source code as explained [[Downloading_the_source_code#Downloading|above]] | ||
* Once it opens select Build > Compile | *Open yogstation.dme in dream maker (double click it) | ||
* Wait until it compiles. Once it does a new file "Yogstation.dmb" will be created in the same folder where "yogstation.dme" is. The dmb file has an orange icon. Compile time usually takes between 1 and 10 minutes, depending on your computer. Dream maker will show as 'not responding' during this time, but it is compiling. | *Once it opens select Build > Compile | ||
* Open dream daemon (Win7: start menu > all programs > BYOND > Dream Daemon; Win8: start > type Dream Daemon > Dream Daemon) | *Wait until it compiles. Once it does a new file "Yogstation.dmb" will be created in the same folder where "yogstation.dme" is. The dmb file has an orange icon. Compile time usually takes between 1 and 10 minutes, depending on your computer. Dream maker will show as 'not responding' during this time, but it is compiling. | ||
* Select the "..." in the lower right corner and select the file "yogstation.dmb". | *Open dream daemon (Win7: start menu > all programs > BYOND > Dream Daemon; Win8: start > type Dream Daemon > Dream Daemon) | ||
* Click the "GO" button and wait until it changes to a red "stop" button. Starting the server usually takes between 1 and 5 minutes. It is fully started once you can normally interact with Dream Daemon and a byond://xxx.xxx.xxx.xxx:xxxxx link is present at the bottom. | *Select the "..." in the lower right corner and select the file "yogstation.dmb". | ||
* Click the yellow button (former "...") to auto-join | *Click the "GO" button and wait until it changes to a red "stop" button. Starting the server usually takes between 1 and 5 minutes. It is fully started once you can normally interact with Dream Daemon and a byond://xxx.xxx.xxx.xxx:xxxxx link is present at the bottom. | ||
* Left click the link (byond://xxx.xxx.xxx.xxx:xxxxx) to copy it to clipboard | *Click the yellow button (former "...") to auto-join | ||
* Paste the link (ctrl+v) to your friends so they can join. | *Left click the link (byond://xxx.xxx.xxx.xxx:xxxxx) to copy it to clipboard | ||
*Paste the link (ctrl+v) to your friends so they can join. | |||
<!-- == Making your server visible on byond.com == | <!-- == Making your server visible on byond.com == | ||
Line 39: | Line 40: | ||
--> | --> | ||
== Setting up the database == | ==Setting up the database== | ||
Also see [[Working with the database]]. | Also see [[Working with the database]]. | ||
* Download and install XAMPP ([http://www.apachefriends.org/en/xampp-windows.html Windows], [http://www.apachefriends.org/en/xampp-linux.html Linux]). Make sure you have both apache and mysql selected when you install it. | *Download and install XAMPP ([http://www.apachefriends.org/en/xampp-windows.html Windows], [http://www.apachefriends.org/en/xampp-linux.html Linux]). Make sure you have both apache and mysql selected when you install it. | ||
* Run XAMPP Control Panel (Open start menu, type 'xampp' in the search field and run it) | *Run XAMPP Control Panel (Open start menu, type 'xampp' in the search field and run it) | ||
* Click 'Start' next to Apache and MySQL in the control panel. (Apache often conflicts with skype, so make sure you have skype off: Right click it's icon in the tray and click quit. Hiding it is not enough.) | *Click 'Start' next to Apache and MySQL in the control panel. (Apache often conflicts with skype, so make sure you have skype off: Right click it's icon in the tray and click quit. Hiding it is not enough.) | ||
* Go to the following address in your browser: | *Go to the following address in your browser: http://localhost/phpmyadmin (will only work once you start up both Apache and MySQL in the XAMPP Control Panel) | ||
* Click on the button titled SQL in the row of buttons at the top. | *Click on the button titled SQL in the row of buttons at the top. | ||
* Open the file 'SQL/tgstation_schema.sql' in notepad and copy its content. You can also find it [https://github.com/tgstation/-tg-station/blob/master/SQL/tgstation_schema.sql here], but it may be newer than the version you are using. | *Open the file 'SQL/tgstation_schema.sql' in notepad and copy its content. You can also find it [https://github.com/tgstation/-tg-station/blob/master/SQL/tgstation_schema.sql here], but it may be newer than the version you are using. | ||
* Paste the file's content into the input field for sql in phpmyadmin and hit 'Execute' in the bottom right | *Paste the file's content into the input field for sql in phpmyadmin and hit 'Execute' in the bottom right | ||
* Once you execute this, a new database should be added to the list on the left, called 'feedback'. If not, refresh the page. If you click on the database, it should show you all the tables it includes. At this point, you have created the database 'infrastructure'. You now have to create a user for it. | *Once you execute this, a new database should be added to the list on the left, called 'feedback'. If not, refresh the page. If you click on the database, it should show you all the tables it includes. At this point, you have created the database 'infrastructure'. You now have to create a user for it. | ||
* Click on 'SQL' in the top again, and execute the following statement: CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'mypass'; GRANT ALL ON feedback.* TO 'myuser'@'%'; Replace both instances of myuser with some username and mypass with some password. Be careful to copy all the apostrophes. This will create a new user and grant him all privileges for the feedback database. | *Click on 'SQL' in the top again, and execute the following statement: CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'mypass'; GRANT ALL ON feedback.* TO 'myuser'@'%'; Replace both instances of myuser with some username and mypass with some password. Be careful to copy all the apostrophes. This will create a new user and grant him all privileges for the feedback database. | ||
* Please keep phpmyadmin open for a while longer. | *Please keep phpmyadmin open for a while longer. | ||
* Open the file: [https://github.com/tgstation/-tg-station/blob/master/config/dbconfig.txt config/dbconfig.txt] in notepad | *Open the file: [https://github.com/tgstation/-tg-station/blob/master/config/dbconfig.txt config/dbconfig.txt] in notepad | ||
* Make sure to set it so that: | *Make sure to set it so that: | ||
** SQL_ENABLED does not have a # in front of it | **SQL_ENABLED does not have a # in front of it | ||
** ADDRESS localhost | **ADDRESS localhost | ||
** PORT 3306 | **PORT 3306 | ||
** FEEDBACK_DATABASE feedback | **FEEDBACK_DATABASE feedback | ||
** FEEDBACK_LOGIN myuser (where myuser is the username you set in the CREATE USER statement) | **FEEDBACK_LOGIN myuser (where myuser is the username you set in the CREATE USER statement) | ||
** FEEDBACK_PASSWORD mypass (where mypass is the password you set in the CREATE USER statement) | **FEEDBACK_PASSWORD mypass (where mypass is the password you set in the CREATE USER statement) | ||
* The database is now set up for death logging, population logging, polls ([[Working with the database#Adding a new poll|Tutorial]]), library, privacy poll, connection logging and player logging. There are two more features which you should consider. And it's best to do so now, since adopting them later can be a pain. | *The database is now set up for death logging, population logging, polls ([[Working with the database#Adding a new poll|Tutorial]]), library, privacy poll, connection logging and player logging. There are two more features which you should consider. And it's best to do so now, since adopting them later can be a pain. | ||
=== Database based banning === | ===Database based banning=== | ||
Offers temporary jobbans, admin bans, cross-server bans, keeps bans logged even after they've expired or were unbanned, and allows for the use of the off-server ban log. | Offers temporary jobbans, admin bans, cross-server bans, keeps bans logged even after they've expired or were unbanned, and allows for the use of the off-server ban log. | ||
Line 69: | Line 70: | ||
To enable database based banning: | To enable database based banning: | ||
* Open config/config.txt | *Open config/config.txt | ||
* Add a # in front of BAN_LEGACY_SYSTEM, so the line looks like "#BAN_LEGACY_SYSTEM" | *Add a # in front of BAN_LEGACY_SYSTEM, so the line looks like "#BAN_LEGACY_SYSTEM" | ||
* Done. Note that any legacy bans are no longer enforced once this is done! So it's a good idea to do it when you're starting up. | *Done. Note that any legacy bans are no longer enforced once this is done! So it's a good idea to do it when you're starting up. | ||
=== Database based administration === | ===Database based administration=== | ||
<font color= | <font color="red">'''DATABASE BASED ADMINISTRATION CURRENTLY DOES NOT WORK.'''</font> | ||
The rest of this section remains for when it gets fixed. | The rest of this section remains for when it gets fixed. | ||
Line 84: | Line 85: | ||
To enable database based administration: | To enable database based administration: | ||
* Open config/config.txt | *Open config/config.txt | ||
* Add a # in front of ADMIN_LEGACY_SYSTEM, so the line looks like "#ADMIN_LEGACY_SYSTEM" | *Add a # in front of ADMIN_LEGACY_SYSTEM, so the line looks like "#ADMIN_LEGACY_SYSTEM" | ||
* Do the steps described in [[Working with the database#Adding your first admin|Adding your first admin]]. | *Do the steps described in [[Working with the database#Adding your first admin|Adding your first admin]]. | ||
* Done. Note that anyone in admins.txt lost admin status, including you! So do the step above! You can repeat it for everyone, as it's a lot easier to do that and just correct permissions with the ingame panel called 'permissions panel'. | *Done. Note that anyone in admins.txt lost admin status, including you! So do the step above! You can repeat it for everyone, as it's a lot easier to do that and just correct permissions with the ingame panel called 'permissions panel'. | ||
* If your database ever dies, your server will revert to the old admin system, so it is a good idea to have admins.txt and admin_ranks.txt set up with some admins too, just so the loss of the database doesn't completely destroy everything. | *If your database ever dies, your server will revert to the old admin system, so it is a good idea to have admins.txt and admin_ranks.txt set up with some admins too, just so the loss of the database doesn't completely destroy everything. | ||
</div> | </div> | ||
If you need more help contact [[Community|#coderbus]]. | If you need more help contact [[Community|#coderbus]]. | ||
Line 99: | Line 100: | ||
{{Contribution guides}} | {{Contribution guides}} | ||
[[Category:Guides]] [[Category:Game Resources]] | [[Category:Guides]] | ||
[[Category:Game Resources]] |
Revision as of 17:28, 11 November 2020
This page needs revising!
The following page is out of date and/or needs to be revised. If the page's guide needs revision, see here for an example. |
This page contains the information and steps needed to download the latest version of the code, compile it and host your own server.
Downloading
We use GitHub to host our project.
A zip download is available here: [1]
If you don't want to download 300MB of data every time an update is made, you can follow this guide to set up TortoiseGit.
Hosting a server
To get a simple server running:
- Download the source code as explained above
- Open yogstation.dme in dream maker (double click it)
- Once it opens select Build > Compile
- Wait until it compiles. Once it does a new file "Yogstation.dmb" will be created in the same folder where "yogstation.dme" is. The dmb file has an orange icon. Compile time usually takes between 1 and 10 minutes, depending on your computer. Dream maker will show as 'not responding' during this time, but it is compiling.
- Open dream daemon (Win7: start menu > all programs > BYOND > Dream Daemon; Win8: start > type Dream Daemon > Dream Daemon)
- Select the "..." in the lower right corner and select the file "yogstation.dmb".
- Click the "GO" button and wait until it changes to a red "stop" button. Starting the server usually takes between 1 and 5 minutes. It is fully started once you can normally interact with Dream Daemon and a byond://xxx.xxx.xxx.xxx:xxxxx link is present at the bottom.
- Click the yellow button (former "...") to auto-join
- Left click the link (byond://xxx.xxx.xxx.xxx:xxxxx) to copy it to clipboard
- Paste the link (ctrl+v) to your friends so they can join.
Setting up the database
Also see Working with the database.
- Download and install XAMPP (Windows, Linux). Make sure you have both apache and mysql selected when you install it.
- Run XAMPP Control Panel (Open start menu, type 'xampp' in the search field and run it)
- Click 'Start' next to Apache and MySQL in the control panel. (Apache often conflicts with skype, so make sure you have skype off: Right click it's icon in the tray and click quit. Hiding it is not enough.)
- Go to the following address in your browser: http://localhost/phpmyadmin (will only work once you start up both Apache and MySQL in the XAMPP Control Panel)
- Click on the button titled SQL in the row of buttons at the top.
- Open the file 'SQL/tgstation_schema.sql' in notepad and copy its content. You can also find it here, but it may be newer than the version you are using.
- Paste the file's content into the input field for sql in phpmyadmin and hit 'Execute' in the bottom right
- Once you execute this, a new database should be added to the list on the left, called 'feedback'. If not, refresh the page. If you click on the database, it should show you all the tables it includes. At this point, you have created the database 'infrastructure'. You now have to create a user for it.
- Click on 'SQL' in the top again, and execute the following statement: CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'mypass'; GRANT ALL ON feedback.* TO 'myuser'@'%'; Replace both instances of myuser with some username and mypass with some password. Be careful to copy all the apostrophes. This will create a new user and grant him all privileges for the feedback database.
- Please keep phpmyadmin open for a while longer.
- Open the file: config/dbconfig.txt in notepad
- Make sure to set it so that:
- SQL_ENABLED does not have a # in front of it
- ADDRESS localhost
- PORT 3306
- FEEDBACK_DATABASE feedback
- FEEDBACK_LOGIN myuser (where myuser is the username you set in the CREATE USER statement)
- FEEDBACK_PASSWORD mypass (where mypass is the password you set in the CREATE USER statement)
- The database is now set up for death logging, population logging, polls (Tutorial), library, privacy poll, connection logging and player logging. There are two more features which you should consider. And it's best to do so now, since adopting them later can be a pain.
Database based banning
Offers temporary jobbans, admin bans, cross-server bans, keeps bans logged even after they've expired or were unbanned, and allows for the use of the off-server ban log.
To enable database based banning:
- Open config/config.txt
- Add a # in front of BAN_LEGACY_SYSTEM, so the line looks like "#BAN_LEGACY_SYSTEM"
- Done. Note that any legacy bans are no longer enforced once this is done! So it's a good idea to do it when you're starting up.
Database based administration
DATABASE BASED ADMINISTRATION CURRENTLY DOES NOT WORK.
The rest of this section remains for when it gets fixed.
Offers a changelog for changes done to admins, which increases accountability (adding/removing admins, adding/removing permissions, changing ranks); allows admins with +PERMISSIONS to edit other admins' permissions ingame, meaning they don't need remote desktop access to edit admins; Allows for custom ranks, with permissions not being tied to ranks, offering a better ability for the removal or addition of permissions to certain admins, if they need to be punished, or need extra permissions. Enabling this can be done any time, it's just a bit tedious the first time you do it, if you don't have direct access to the database.
To enable database based administration:
- Open config/config.txt
- Add a # in front of ADMIN_LEGACY_SYSTEM, so the line looks like "#ADMIN_LEGACY_SYSTEM"
- Do the steps described in Adding your first admin.
- Done. Note that anyone in admins.txt lost admin status, including you! So do the step above! You can repeat it for everyone, as it's a lot easier to do that and just correct permissions with the ingame panel called 'permissions panel'.
- If your database ever dies, your server will revert to the old admin system, so it is a good idea to have admins.txt and admin_ranks.txt set up with some admins too, just so the loss of the database doesn't completely destroy everything.
If you need more help contact #coderbus.
For additional database-related tutorials, see Working with the database.
In-server administrative operation and tips
[To be filled by administration / coders]
Contribution guides
| |
General | Hosting a server, Setting up git, Guide to GitKraken, Downloading the source code, Guide to contributing to the game, Reporting issues, Game resources category, Guide to changelogs |
Database (MySQL) | Setting up the database, MySQL |
Coding | Understanding SS13 code, SS13 for experienced programmers, Text Formatting |
Mapping | Guide to mapping, Room Structure, Map merger |
Spriting | Guide to spriting |
Wiki | Guide to contributing to the wiki, Wikicode, Styleguide |