add separate binaries for the server types
This commit is contained in:
		
							parent
							
								
									a50f1d58a4
								
							
						
					
					
						commit
						7a831c35c4
					
				
							
								
								
									
										25
									
								
								src/bin/login.rs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										25
									
								
								src/bin/login.rs
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,25 @@ | ||||
| use log::{info}; | ||||
| use elseware::entity::gateway::postgres::PostgresGateway; | ||||
| use elseware::login::login::LoginServerState; | ||||
| use elseware::login::character::CharacterServerState; | ||||
| use elseware::common::mainloop::{login_mainloop, character_mainloop}; | ||||
| 
 | ||||
| async fn main() { | ||||
|     let db_host = std::env::var("DB_HOST").unwrap(); | ||||
|     let db_username = std::env::var("DB_USERNAME").unwrap(); | ||||
|     let db_password = std::env::var("DB_PASSWORD").unwrap(); | ||||
|     let db_dbname = std::env::var("DB_DBNAME").unwrap(); | ||||
|     let entity_gateway = PostgresGateway::new(&db_host, &db_dbname, &db_username, &db_password); | ||||
|     
 | ||||
|     let thread_entity_gateway = entity_gateway.clone(); | ||||
|     let login_state = LoginServerState::new(thread_entity_gateway); | ||||
|     let login_loop = login_mainloop(login_state, elseware::login::login::LOGIN_PORT); | ||||
|     
 | ||||
|     let char_state = CharacterServerState::new(entity_gateway); | ||||
|     let character_loop = character_mainloop(char_state, elseware::login::character::CHARACTER_PORT, elseware::login::login::COMMUNICATION_PORT); | ||||
|     
 | ||||
|     info!("[auth/character] starting server"); | ||||
|     async_std::task::block_on(async move { | ||||
|         futures::future::join_all(vec![login_loop, character_loop]).await | ||||
|     }); | ||||
| } | ||||
							
								
								
									
										16
									
								
								src/bin/patch.rs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								src/bin/patch.rs
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,16 @@ | ||||
| use elseware::patch::patch::{PatchServerState, generate_patch_tree, load_config, load_motd}; | ||||
| use log::{info}; | ||||
| use elseware::common::mainloop::patch_mainloop; | ||||
| 
 | ||||
| fn main() { | ||||
|     info!("[patch] starting server"); | ||||
|     let patch_config = load_config(); | ||||
|     let patch_motd = load_motd(); | ||||
|     let (patch_file_tree, patch_file_lookup) = generate_patch_tree(patch_config.path.as_str()); | ||||
|     let patch_state = PatchServerState::new(patch_file_tree, patch_file_lookup, patch_motd); | ||||
|     let patch_loop = patch_mainloop(patch_state, patch_config.port); | ||||
| 
 | ||||
|     async_std::task::block_on(async move { | ||||
|         patch_loop.await | ||||
|     }); | ||||
| } | ||||
							
								
								
									
										30
									
								
								src/bin/ship.rs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										30
									
								
								src/bin/ship.rs
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,30 @@ | ||||
| use log::{info}; | ||||
| use elseware::entity::gateway::postgres::PostgresGateway; | ||||
| use elseware::ship::ship::ShipServerState; | ||||
| use elseware::ship::ship::ShipServerStateBuilder; | ||||
| use elseware::common::mainloop::ship_mainloop; | ||||
| 
 | ||||
| async fn main() { | ||||
|     let db_host = std::env::var("DB_HOST").unwrap(); | ||||
|     let db_username = std::env::var("DB_USERNAME").unwrap(); | ||||
|     let db_password = std::env::var("DB_PASSWORD").unwrap(); | ||||
|     let db_dbname = std::env::var("DB_DBNAME").unwrap(); | ||||
|     let entity_gateway = PostgresGateway::new(&db_host, &db_dbname, &db_username, &db_password); | ||||
| 
 | ||||
|     let ship_name = std::env::var("SHIP_NAME").unwrap().parse().unwrap(); | ||||
|     let ip = std::env::var("SELF_IP").unwrap().parse().unwrap(); | ||||
|     let ship_state = ShipServerStateBuilder::new() | ||||
|         .name(ship_name) | ||||
|         .ip(ip) | ||||
|         .port(elseware::ship::ship::SHIP_PORT) | ||||
|         .gateway(entity_gateway) | ||||
|         .build(); | ||||
| 
 | ||||
|     let shipgate_ip = std::env::var("SHIPGATE_IP").unwrap().parse().unwrap(); | ||||
|     let ship_loop = ship_mainloop(ship_state, elseware::ship::ship::SHIP_PORT, shipgate_ip, elseware::login::login::COMMUNICATION_PORT); | ||||
|     
 | ||||
|     info!("[auth/character] starting server"); | ||||
|     async_std::task::block_on(async move { | ||||
|         ship_loop.await | ||||
|     }); | ||||
| } | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user