Refactor config servers first read to fix docker deploy
This commit is contained in:
parent
8b1b64bd87
commit
0be47b8b88
@ -7,4 +7,5 @@ COPY src /opt/mrproxy/src
|
||||
COPY config/* /etc/mrproxy
|
||||
WORKDIR /opt/mrproxy
|
||||
RUN apk add cargo
|
||||
RUN cargo run --release
|
||||
RUN cargo build --release
|
||||
CMD /opt/mrproxy/target/release/minecraft_proxy
|
||||
|
@ -5,4 +5,4 @@ conf:
|
||||
sock_type: 'TCP'
|
||||
#path: '/home/roche/portmrproxy'
|
||||
port: '25564'
|
||||
ip: '127.0.0.1'
|
||||
ip: '0.0.0.0'
|
||||
|
@ -50,27 +50,48 @@ pub struct Config{
|
||||
conf: ConfServer,
|
||||
}
|
||||
|
||||
pub fn generate_conf_from_file() -> ConfFile{
|
||||
match File::open(&FILE_CONF) {
|
||||
Ok(mut f) => {
|
||||
let mut s = String::new();
|
||||
f.read_to_string(&mut s).unwrap();
|
||||
match serde_yaml::from_str(&s) {
|
||||
Ok(result) => result,
|
||||
Err(e) => {error!("Config file malformed: {}",e); panic!("{}", e);},
|
||||
}
|
||||
}
|
||||
Err(e) => {error!("Error open config file: {}",e); panic!("{}",e)}
|
||||
}
|
||||
}
|
||||
|
||||
pub fn generate_slist_from_file() -> Vec<ServerData>{
|
||||
match File::open(&FILE_SERVERS){
|
||||
Ok(mut f) => {
|
||||
let mut s = String::new();
|
||||
f.read_to_string(&mut s).unwrap();
|
||||
match serde_yaml::from_str(&s) {
|
||||
Ok(result) => result,
|
||||
Err(e) => {
|
||||
warn!("IPs list file malformed; creating new one\nerror: {}",e);
|
||||
Vec::new()
|
||||
},
|
||||
}
|
||||
}
|
||||
Err(e) => {
|
||||
warn!("IPs list file can't be open; creating new one \nerror: {}",e);
|
||||
Vec::new()
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
impl Config {
|
||||
pub fn new() -> Self {
|
||||
let mut conf_file = File::open(&FILE_CONF).unwrap();
|
||||
let mut servers_file = File::open(&FILE_SERVERS).unwrap();
|
||||
let mut s1 = String::new();
|
||||
let mut s2 = String::new();
|
||||
conf_file.read_to_string(&mut s1).unwrap();
|
||||
servers_file.read_to_string(&mut s2).unwrap();
|
||||
let yam_conf:ConfFile = match serde_yaml::from_str(&s1) {
|
||||
Ok(result) => result,
|
||||
Err(e) => {error!("Config file malformed: {}",e); panic!("{}", e);},
|
||||
};
|
||||
let yam_ser: Vec<ServerData> = match serde_yaml::from_str(&s2) {
|
||||
Ok(result) => result,
|
||||
Err(e) => {warn!("IPs list file malformed; creating new one"); Vec::new()},
|
||||
};
|
||||
let yaml_conf = generate_conf_from_file();
|
||||
Self{
|
||||
l_servers: Self::get_servers(&yam_ser),
|
||||
port: yam_conf.port,
|
||||
ip: yam_conf.ip,
|
||||
conf: yam_conf.conf,
|
||||
l_servers: Self::get_servers(&generate_slist_from_file()),
|
||||
port: yaml_conf.port,
|
||||
ip: yaml_conf.ip,
|
||||
conf: yaml_conf.conf,
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user