Upgrading from 2.0 to 2.1
Upgrading from 2.0 to 2.1 can be done by:
General
-
Update any scripts you have that execute
servicesto executeanopeinstead. -
If you are using the
db_sqlordb_sql_livemodules it is recommended that on 2.0 you loaddb_flatfileand export your database to a file and re-import on 2.1 to update the schema of your database. -
The syntax for using defines has changed. Replace all usages of
services.hostwith${services.host}and do the same for any defines you have added. -
IRC2SQL has been replaced with JSON-RPC. Remove stats.standalone.conf and irc2sql.conf.
services.conf
-
Rename
services.conftoanope.conf. -
Replace
uplink:ipv6withuplink:protocol(example). -
If you are using the
bahamutprotocol module then migrate to a different IRC server (we recommend InspIRCd) and load the appropriate module. -
If you are using the
charybdisprotocol module then migrate to Solanum and replace it with thesolanummodule. -
If you are using the
inspircd3protocol module then replace it with theinspircdmodule. -
If you are using the
inspircd12orinspircd20protocol modules then upgrade your IRCd and replace it with theinspircdmodule. -
If you are using the
unreal4protocol module then replace it with theunrealircdmodule. -
If you are using the
unrealprotocol module then upgrade your IRCd and replace it with theunrealircdmodule. -
If you are using
db_flatfile(or have exported to flatfile as part of the upgrade progress) load eitherdb_jsonordb_sqlafterdb_flatfileto import your database. Once Anope has started and written a JSON or SQL database unloaddb_flatfile. -
Move the
enc_md5,enc_none,enc_sha1, andenc_sha256modules to be secondary encryption modules and addenc_argon2,enc_bcrypt, orenc_sha2as a new primary encryption module (example). -
If you are using the
enc_oldmodule then remove it from your config. -
Replace the
nickserv/accessprivilege in operator accounts with thenickserv/certprivilege. -
Replace the
nickserv/confirmprivilege in operator accounts with thenickserv/confirm/registerandnickserv/confirm/emailprivileges. -
Replace the
nickserv/saset/killprivilege in operator accounts with thenickserv/saset/protectprivilege. -
Add the
global/queueandglobal/serverprivileges to operator accounts with theglobal/globalprivilege. -
Update
serverinfo:motdto be relative to the config directory. -
Update
serverinfo:pidto be relative to the data directory. -
If you are using email then add the
iflag to the sendmail command inmail:sendmail(example). -
If you are using email then update the template variables to the new syntax in
mail:emailchange_message,mail:emailchange_subject,mail:memo_message,mail:memo_subject,mail:registration_message,mail:registration_subject,,mail:reset_message, andmail:reset_subject(example). -
If you are using email then update the command in
mail:emailchange_messagefromCONFIRMtoCONFIRM EMAIL(example). -
If you are using email then update the command in
mail:registration_messagefromCONFIRMtoCONFIRM REGISTER(example). -
If you are using email then update the command in
mail:reset_messagefromCONFIRMtoCONFIRM RESETPASS(example). -
Replace
options:usestrictprivmsgwithoptions:servicealias(example). -
Update
options:languagesto no longer includeca_ES.UTF-8,hu_HU.UTF-8, andru_RU.UTF-8.
botserv.conf
-
Add a description to the
GREETprivilege (example). -
Rename
{botserv}:gecosto{botserv}:real.
chanserv.conf
-
Rename the
FANTASIAprivilege toFANTASY(example). -
Add a description to the
ACCESS_CHANGE,ACCESS_LIST,AKICK,ASSIGN,AUTOHALFOP,AUTOOP,AUTOOWNER,AUTOPROTECT,AUTOVOICE,BADWORDS,BAN,FANTASY,FOUNDER,GETKEY,HALFOP,HALFOPME,INFO,INVITE,KICK,MEMO,MODE,NOKICK,OP,OPME,OWNER,OWNERME,PROTECT,PROTECTME,SAY,SET,SIGNKICK,TOPIC,UNBAN,UNBANME,VOICE, andVOICEMEprivileges (example). -
Add the
UNBANMEprivilege forchanserv/unban(example). -
Rename
{chanserv}:gecosto{chanserv}:real. -
Remove the
cs_secureoption from{chanserv}:defaults. -
Update the template variables to the new syntax in
{chanserv}:signkickformat(example). -
Add the
misc_numericfield to theSET URLcommand of thens_set_miscmodule (example). -
Rename
{cs_suspend}:expireto{cs_suspend}:suspendexpire.
global.conf
-
Add the
gl_queueandgl_servermodules and their commands (example). -
Rename
{global}:gecosto{global}:real.
chanstats.conf
-
Remove the
m_prefix from thechanstatsmodule. -
If you have {chanstats}:cs_def_chanstats set then remove it and add
CS_STATSto {chanserv}:defaults. -
If you have {chanstats}:ns_def_chanstats set then remove it and add
NS_STATSto {nickserv}:defaults.
hostserv.conf
- Rename
{hostserv}:gecosto{hostserv}:real.
nickserv.conf
-
Rename
{nickserv}:gecosto{nickserv}:real. -
Add the
nickserv/set/neveropandnickserv/saset/neveropcommands (example). -
Remove the
nickserv/set/secureandnickserv/saset/securecommands. -
Remove the
ns_accessmodule andnickserv/accesscommand. -
Load the ns_confirm module (example).
-
Replace the
ns_getemailmodule with thens_emailmodule (example). -
Remove the
ns_getpassmodule andnickserv/getpasscommand. -
If enabled replace the
ns_maxemailmodule with themaxemailssetting of thens_emailmodule (example). -
Add the new
CONFIRM EMAILcommand (example). -
Replace the
ns_registerCONFIRMcommand with the newCONFIRM REGISTERcommand (example). -
Add the new
CONFIRM RESETPASScommand (example). -
Remove the
ns_statusmodule andnickserv/statuscommand. -
Update the template variables to the new syntax in
{nickserv}:unregistered_notice(example). -
If the
killprotectoption is set in{nickserv}:defaultsreplace it withprotectand set{nickserv}:defaultprotectto the value of{nickserv}:kill. -
If the
kill_quickoption is set in{nickserv}:defaultsreplace it withprotectand set{nickserv}:defaultprotectto the value of{nickserv}:killquick. -
If the
kill_immedoption is set in{nickserv}:defaultsreplace it withprotectand set{nickserv}:defaultprotectto0s. -
Remove the
ns_secureoption from{nickserv}:defaults. -
Rename
{nickserv}:passlento{nickserv}:maxpasslen. -
Replace
{nickserv}:guestnickprefixwith{nickserv}:guestnick(example). -
Replace
options:strictpasswordswith{nickserv}:minpasslen(example). -
Load the
ns_set_keepmodesmodule (example). -
Load the
ns_set_languagemodule (example). -
Load the
ns_set_layoutmodule (example). -
Load the
ns_set_opmodule (example). -
Load the
ns_set_protectmodule (example). -
If
options:useprivmsgwas enabled load thens_set_messagemodule (example).
modules.conf
-
If enabled add
{ssl_openssl}:tlsv10,{ssl_openssl}:tlsv11, and{ssl_openssl}:tlsv12(example). - If enabled remove
{ssl_openssl}:sslv3(now always disabled). Load the -
If enabled remove the the
m_prefix from thedns,dnsbl,helpchan,httpd,ldap,ldap_oper,mysql,proxyscan,redis,regex_pcre2,regex_posix,regex_stdlib,regex_tre,rewrite,sql_log,sql_oper,sqlite,ssl_gnutls, andssl_opensslmodules. -
If enabled update the template variables to the new syntax in
{dnsbl}:blacklist:reason(example). -
If enabled update the template variables to the new syntax in
{ldap_authentication}:search_filter(example). -
If enabled update the template variables to the new syntax in
{ldap_oper}:binddn and {ldap_oper}:filter(example). -
If enabled update the template variables to the new syntax in
{proxyscan}:proxyscan:reason(example). -
If enabled replace the
m_regex_pcremodule with theregex_pcre2module. -
If enabled replace the
m_saslmodule with thens_sasl,ns_sasl_anonymous,ns_sasl_external, andns_sasl_plainmodules (example). -
If enabled update
{ssl_gnutls}:cert,{ssl_gnutls}:dhparams, and{ssl_gnutls}:keyto be relative to the config directory. -
If enabled update
{ssl_openssl}:certand{ssl_openssl}:keyto be relative to the config directory. -
If enabled replace
{webcpanel}:templatewith{webcpanel}:template_dir(example). -
If enabled replace the
m_xmlrpcmodule with thexmlrpcextra module or migrate to thejsonrpcmodule (example). - If enabled replace the
m_xmlrpc_mainmodule with therpc_data,rpc_message, andrpc_usermodules (example).
memoserv.conf
- Rename
{memoserv}:gecosto{memoserv}:real.
operserv.conf
-
Rename
{operserv}:gecosto{operserv}:real. -
Remove the
os_olinemodule andoperserv/olinecommand. -
Update the template variables to the new syntax in
{os_session}:sessionlimitexceeded(example).