tell loginserv the ip of charserv
This commit is contained in:
parent
19e30f34e6
commit
1ac85b9a5c
@ -9,10 +9,11 @@ fn main() {
|
|||||||
let db_username = std::env::var("DB_USERNAME").unwrap();
|
let db_username = std::env::var("DB_USERNAME").unwrap();
|
||||||
let db_password = std::env::var("DB_PASSWORD").unwrap();
|
let db_password = std::env::var("DB_PASSWORD").unwrap();
|
||||||
let db_dbname = std::env::var("DB_DBNAME").unwrap();
|
let db_dbname = std::env::var("DB_DBNAME").unwrap();
|
||||||
|
let charserv_ip = std::env::var("CHARSERV_IP").unwrap().parse().unwrap();
|
||||||
let entity_gateway = PostgresGateway::new(&db_host, &db_dbname, &db_username, &db_password);
|
let entity_gateway = PostgresGateway::new(&db_host, &db_dbname, &db_username, &db_password);
|
||||||
|
|
||||||
let thread_entity_gateway = entity_gateway.clone();
|
let thread_entity_gateway = entity_gateway.clone();
|
||||||
let login_state = LoginServerState::new(thread_entity_gateway);
|
let login_state = LoginServerState::new(thread_entity_gateway, charserv_ip);
|
||||||
let login_loop = login_mainloop(login_state, elseware::login::login::LOGIN_PORT);
|
let login_loop = login_mainloop(login_state, elseware::login::login::LOGIN_PORT);
|
||||||
|
|
||||||
let char_state = CharacterServerState::new(entity_gateway);
|
let char_state = CharacterServerState::new(entity_gateway);
|
||||||
|
@ -54,7 +54,7 @@ fn main() {
|
|||||||
for i in 0..5 {
|
for i in 0..5 {
|
||||||
let fake_user = NewUserAccountEntity {
|
let fake_user = NewUserAccountEntity {
|
||||||
email: format!("fake{}@email.com", i),
|
email: format!("fake{}@email.com", i),
|
||||||
username: if i == 0 { "hi".to_string() } else { format!("hi{}", i+1) },
|
username: if i == 0 { "hiz".to_string() } else { format!("hi{}", i+1) },
|
||||||
password: bcrypt::hash("qwer", 5).unwrap(),
|
password: bcrypt::hash("qwer", 5).unwrap(),
|
||||||
guildcard: i + 1,
|
guildcard: i + 1,
|
||||||
team_id: None,
|
team_id: None,
|
||||||
@ -315,7 +315,7 @@ fn main() {
|
|||||||
|
|
||||||
let thread_entity_gateway = entity_gateway.clone();
|
let thread_entity_gateway = entity_gateway.clone();
|
||||||
info!("[auth] starting server");
|
info!("[auth] starting server");
|
||||||
let login_state = LoginServerState::new(thread_entity_gateway);
|
let login_state = LoginServerState::new(thread_entity_gateway, "127.0.0.1".parse().unwrap());
|
||||||
let login_loop = login_mainloop(login_state, elseware::login::login::LOGIN_PORT);
|
let login_loop = login_mainloop(login_state, elseware::login::login::LOGIN_PORT);
|
||||||
|
|
||||||
let thread_entity_gateway = entity_gateway.clone();
|
let thread_entity_gateway = entity_gateway.clone();
|
||||||
|
@ -75,13 +75,15 @@ pub async fn get_login_status(entity_gateway: &impl EntityGateway, pkt: &Login)
|
|||||||
|
|
||||||
|
|
||||||
pub struct LoginServerState<EG: EntityGateway> {
|
pub struct LoginServerState<EG: EntityGateway> {
|
||||||
|
character_server_ip: net::Ipv4Addr,
|
||||||
entity_gateway: EG,
|
entity_gateway: EG,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl<EG: EntityGateway> LoginServerState<EG> {
|
impl<EG: EntityGateway> LoginServerState<EG> {
|
||||||
pub fn new(entity_gateway: EG) -> LoginServerState<EG> {
|
pub fn new(entity_gateway: EG, character_server_ip: net::Ipv4Addr) -> LoginServerState<EG> {
|
||||||
LoginServerState {
|
LoginServerState {
|
||||||
entity_gateway: entity_gateway,
|
entity_gateway: entity_gateway,
|
||||||
|
character_server_ip: character_server_ip.into(),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -89,8 +91,8 @@ impl<EG: EntityGateway> LoginServerState<EG> {
|
|||||||
match get_login_status(&self.entity_gateway, pkt).await {
|
match get_login_status(&self.entity_gateway, pkt).await {
|
||||||
Ok(_user) => {
|
Ok(_user) => {
|
||||||
let response = SendLoginPacket::LoginResponse(LoginResponse::by_status(AccountStatus::Ok, pkt.session));
|
let response = SendLoginPacket::LoginResponse(LoginResponse::by_status(AccountStatus::Ok, pkt.session));
|
||||||
let ip = net::Ipv4Addr::new(127,0,0,1);
|
//let ip = net::Ipv4Addr::new(127,0,0,1);
|
||||||
let ip = u32::from_ne_bytes(ip.octets());
|
let ip = u32::from_ne_bytes(self.character_server_ip.octets());
|
||||||
vec![response,
|
vec![response,
|
||||||
SendLoginPacket::RedirectClient(RedirectClient::new(ip, crate::login::character::CHARACTER_PORT))]
|
SendLoginPacket::RedirectClient(RedirectClient::new(ip, crate::login::character::CHARACTER_PORT))]
|
||||||
},
|
},
|
||||||
|
Loading…
x
Reference in New Issue
Block a user