diff --git a/code/world.dm b/code/world.dm index 1be73ea8bc1..66db0ad5a1a 100644 --- a/code/world.dm +++ b/code/world.dm @@ -390,7 +390,7 @@ var/inerror = 0 /hook/startup/proc/load_databases() //Construct the database object from an init file. - dbcon = initialize_database_object("config/dbconfig.json") + dbcon = initialize_database_object("config/dbconfig.txt") if (!setup_database_connection(dbcon)) world.log << "Your server failed to establish a connection with the feedback database." @@ -405,20 +405,31 @@ var/inerror = 0 var/list/data = list("address", "port", "database", "login", "password") - var/list/Lines + var/list/Lines = file2list(filename) - try - Lines = json_decode(file2text(filename)) - catch(var/exception/e) - error("Error reading database config file '[filename]': [e]") - return new/DBConnection() - - if (!Lines || !Lines.len) + if (!Lines) // Return dummy object for safety. return new/DBConnection() - for (var/name in Lines) - var/value = Lines[name] + for (var/t in Lines) + if (!t) + continue + + t = trim(t) + if (length(t) == 0) + continue + else if (copytext(t, 1, 2) == "#") + continue + + var/pos = findtext(t, " ") + var/name = null + var/value = null + + name = lowertext(copytext(t, 1, pos)) + value = copytext(t, pos + 1) + + if (!name) + continue if (name in data) data[name] = value diff --git a/config/example/dbconfig.json b/config/example/dbconfig.json deleted file mode 100644 index 47c15659a02..00000000000 --- a/config/example/dbconfig.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - // This config file is JSON-ed, to permit the usage of long names. The old - // config parser was throwing errors. - // All fields are self-planitory, fill them out and plop this in. - // BECAUSE DM JSON IS SIMPLE, REMOVE THIS COMMENT BLOCK! - "address": "yourwebserver.com", - "port": 3306, - "database": "ss13", - "login": "databaseuser", - "password": "databasepassword" -} diff --git a/config/example/dbconfig.txt b/config/example/dbconfig.txt new file mode 100644 index 00000000000..2e2ac8ed331 --- /dev/null +++ b/config/example/dbconfig.txt @@ -0,0 +1,23 @@ +# MySQL Connection Configuration + +# Server the MySQL database can be found at +# Examples: localhost, 200.135.5.43, www.mysqldb.com, etc. +ADDRESS localhost + +# MySQL server port (default is 3306) +PORT 3306 + +# Database the population, death, karma, etc. tables may be found in +DATABASE tgstation + +# Username/Login used to access the database +LOGIN mylogin + +# Password used to access the database +PASSWORD mypassword + +# The following information is for feedback tracking via the blackbox server + +# Track population and death statistics +# Comment this out to disable +#ENABLE_STAT_TRACKING