diff --git a/.travis.yml b/.travis.yml
index 5482dd9b5fc..bd437b6ed7b 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -4,7 +4,7 @@ sudo: false
env:
BYOND_MAJOR="510"
- BYOND_MINOR="1332"
+ BYOND_MINOR="1346"
cache:
directories:
@@ -36,4 +36,3 @@ script:
- python tools/GenerateChangelog/ss13_genchangelog.py html/changelog.html html/changelogs
- source $HOME/BYOND-${BYOND_MAJOR}.${BYOND_MINOR}/byond/bin/byondsetup
- DreamMaker baystation12.dme
-
diff --git a/code/controllers/configuration.dm b/code/controllers/configuration.dm
index d52bc84d87a..9a1f3606545 100644
--- a/code/controllers/configuration.dm
+++ b/code/controllers/configuration.dm
@@ -216,6 +216,12 @@ var/list/gamemode_cache = list()
var/list/age_restrictions = list() // Holds all of the age restrictions for jobs and antag roles in a single associated list
+ //Client version control
+ var/client_error_version = 0
+ var/client_error_message = ""
+ var/client_warn_version = 0
+ var/client_warn_message = ""
+
/datum/configuration/New()
var/list/L = typesof(/datum/game_mode) - /datum/game_mode
for (var/T in L)
@@ -694,6 +700,18 @@ var/list/gamemode_cache = list()
if("sql_saves")
config.sql_saves = 1
+ if("client_error_version")
+ config.client_error_version = text2num(value)
+
+ if("client_error_message")
+ config.client_error_message = value
+
+ if("client_warn_version")
+ config.client_warn_version = text2num(value)
+
+ if("client_warn_message")
+ config.client_warn_message = value
+
else
log_misc("Unknown setting in configuration: '[name]'")
diff --git a/code/modules/client/client procs.dm b/code/modules/client/client procs.dm
index 86255d22148..e8b61049289 100644
--- a/code/modules/client/client procs.dm
+++ b/code/modules/client/client procs.dm
@@ -212,6 +212,24 @@
. = ..() //calls mob.Login()
+ if (byond_version < config.client_error_version)
+ src << "Your version of BYOND is too old!"
+ src << config.client_error_message
+ src << "Your version: [byond_version]."
+ src << "Required version: [config.client_error_version] or later."
+ src << "Visit http://www.byond.com/download/ to get the latest version of BYOND."
+ if (holder)
+ src << "Admins get a free pass. However, please update your BYOND as soon as possible. Certain things may cause crashes if you play with your present version."
+ else
+ del(src)
+ return 0
+ else if (byond_version < config.client_warn_version)
+ src << "Your version of BYOND may be out of date!"
+ src << config.client_warn_message
+ src << "Your version: [byond_version]."
+ src << "Required version to remove this message: [config.client_warn_version] or later."
+ src << "Visit http://www.byond.com/download/ to get the latest version of BYOND."
+
if(custom_event_msg && custom_event_msg != "")
src << "
Custom Event
"
src << "A custom event is taking place. OOC Info:
"
diff --git a/code/world.dm b/code/world.dm
index 04ced50dbff..6e8e44dc67d 100644
--- a/code/world.dm
+++ b/code/world.dm
@@ -20,7 +20,7 @@ var/global/datum/global_init/init = new ()
-#define RECOMMENDED_VERSION 501
+#define RECOMMENDED_VERSION 510
/world/New()
//logs
var/date_string = time2text(world.realtime, "YYYY/MM-Month/DD-Day")
@@ -30,7 +30,7 @@ var/global/datum/global_init/init = new ()
changelog_hash = md5('html/changelog.html') //used for telling if the changelog has changed recently
if(byond_version < RECOMMENDED_VERSION)
- world.log << "Your server's byond version does not meet the recommended requirements for this server. Please update BYOND"
+ world.log << "Your server's byond version does not meet the recommended requirements for this server. Please update BYOND to [RECOMMENDED_VERSION]."
config.post_load()
diff --git a/config/example/config.txt b/config/example/config.txt
index f5e87c8dec5..43fa6ae3873 100644
--- a/config/example/config.txt
+++ b/config/example/config.txt
@@ -379,3 +379,12 @@ STARLIGHT 0
## Uncomment this and fill in the web interface's URL to use the web interface.
# WEBINT_URL http://www.address.com/
+
+## Client version control settings.
+## Sets the minimum required BYOND version to play, as well as a warning version, and a message for both.
+## These checks are non-inclusive, so 510 will trigger on 509 or lower.
+## If the error version is triggered, access is denied. Warning message will simply pester.
+#CLIENT_ERROR_VERSION 509
+#CLIENT_ERROR_MESSAGE Your version of BYOND is not supported. Please upgrade.
+#CLIENT_WARN_VERSION 510
+#CLIENT_WARN_MESSAGE BYOND is really close to releasing 510 beta as a stable release, please take time to try it out. Reports are that the client preforms better then the version you are using, and also handles network lag better. Shortly after it's release we will end up using 510 client features and you will be forced to update.
diff --git a/html/changelogs/alberyk-PR-421.yml b/html/changelogs/alberyk-PR-421.yml
index 743dad29766..d5f2c0d0036 100644
--- a/html/changelogs/alberyk-PR-421.yml
+++ b/html/changelogs/alberyk-PR-421.yml
@@ -6,7 +6,7 @@
# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.)
# When it is, any changes listed below will disappear.
#
-# Valid Prefixes:
+# Valid Prefixes:
# bugfix
# wip (For works in progress)
# tweak
@@ -21,8 +21,8 @@
# experiment
#################################
-# Your name.
-author: Alberky
+# Your name.
+author: Alberyk
# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again.
delete-after: True
@@ -32,5 +32,5 @@ delete-after: True
# SCREW THIS UP AND IT WON'T WORK.
# Also, all entries are changed into a single [] after a master changelog generation. Just remove the brackets when you add new entries.
# Please surround your changes in double quotes ("), as certain characters otherwise screws up compiling. The quotes will not show up in the changelog.
-changes:
+changes:
- imageadd: "Added more nine different barsigns."
diff --git a/html/changelogs/skull132-version_bump.yml b/html/changelogs/skull132-version_bump.yml
new file mode 100644
index 00000000000..dddc1729782
--- /dev/null
+++ b/html/changelogs/skull132-version_bump.yml
@@ -0,0 +1,6 @@
+author: Skull132
+
+delete-after: True
+
+changes:
+ - rscadd: "Client version control added. Joining with a lower version than required is now impossible for non-staff."