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, | ||||
| } | ||||
| 
 | ||||
| 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) { | ||||
| 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);}, | ||||
|         }; | ||||
|         let yam_ser: Vec<ServerData> = match serde_yaml::from_str(&s2) { | ||||
|             } | ||||
|         } | ||||
|         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"); Vec::new()}, | ||||
|         }; | ||||
|                 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 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…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user