class ĠConfig ( val Ġconfig FileName : ĠString Ġ= Ġ" config . cfg ") Ġ{ ĊĊĊĠĠĠ Ġprivate Ġvar Ġserver Ip Ġ= Ġ" 1 2 7 . 0 . 0 . 1 " ĊĠĠĠ Ġprivate Ġvar Ġthis Car Ip Ġ= Ġ" 1 2 7 . 0 . 0 . 1 " ĊĊĠĠĠ Ġfun Ġload Config (): ĠBoolean Ġ{ ĊĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfs . access Sync ( config FileName , Ġfs . F _ OK ) ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : Ġdynamic ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġcreate Ġit ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfs . open Sync ( config FileName , Ġ" w ") ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġdata : ĠString Ġ= Ġfs . readFileSync ( config FileName , Ġ" utf 8 ") ĊĠĠĠĠĠĠĠ Ġdata . split ("\ n "). forEach Ġ{ Ġline Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġkey Value Ġ= Ġline . split (": ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! line . equals ("")) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( key Value . size Ġ!= Ġ 2 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprintln ( key Value . toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( key Value [ 0 ]) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" main Server Ip " Ġ-> Ġserver Ip Ġ= Ġkey Value [ 1 ] ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" this Server Ip " Ġ-> Ġthis Car Ip Ġ= Ġkey Value [ 1 ] ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Ip (): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġserver Ip ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Car Ip (): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġthis Car Ip ĊĠĠĠ Ġ} Ċ }