move patch/login main.rs files up a level
This commit is contained in:
parent
75b453731e
commit
f294781934
@ -4,13 +4,18 @@ version = "0.1.0"
|
||||
authors = ["Jake Probst <jake.probst@gmail.com>"]
|
||||
edition = "2018"
|
||||
|
||||
[[bin]]
|
||||
name = "everything"
|
||||
path = "src/main.rs"
|
||||
|
||||
[[bin]]
|
||||
name = "patch"
|
||||
path = "src/patch/main.rs"
|
||||
path = "src/patch_main.rs"
|
||||
|
||||
[[bin]]
|
||||
name = "login"
|
||||
path = "src/login/main.rs"
|
||||
path = "src/login_main.rs"
|
||||
|
||||
|
||||
[dependencies]
|
||||
libpso = { git = "http://git.sharnoth.com/jake/libpso" }
|
||||
|
@ -8,6 +8,7 @@ use libpso::character::settings;
|
||||
|
||||
use std::sync::{Arc, Mutex};
|
||||
|
||||
#[derive(Clone)]
|
||||
pub struct InMemoryGateway {
|
||||
users: Arc<Mutex<HashMap<u32, UserAccount>>>,
|
||||
user_settings: Arc<Mutex<HashMap<u32, UserSettings>>>,
|
||||
|
@ -1,4 +0,0 @@
|
||||
#![feature(const_generics)]
|
||||
|
||||
pub mod common;
|
||||
pub mod entity;
|
@ -8,15 +8,15 @@ use libpso::packet::login::*;
|
||||
use libpso::{PacketParseError, PSOPacket};
|
||||
use libpso::crypto::bb::PSOBBCipher;
|
||||
|
||||
use elseware::common::cipherkeys::{ELSEWHERE_PRIVATE_KEY, ELSEWHERE_PARRAY};
|
||||
use elseware::common::serverstate::{SendServerPacket, RecvServerPacket, ServerState, OnConnect, ClientId};
|
||||
use elseware::{utf8_to_array, utf8_to_utf16_array};
|
||||
use crate::common::cipherkeys::{ELSEWHERE_PRIVATE_KEY, ELSEWHERE_PARRAY};
|
||||
use crate::common::serverstate::{SendServerPacket, RecvServerPacket, ServerState, OnConnect, ClientId};
|
||||
use crate::{utf8_to_array, utf8_to_utf16_array};
|
||||
|
||||
use elseware::entity::gateway::EntityGateway;
|
||||
use elseware::entity::account::{UserAccount, USERFLAG_NEWCHAR, USERFLAG_DRESSINGROOM};
|
||||
use elseware::entity::character::Character;
|
||||
use crate::entity::gateway::EntityGateway;
|
||||
use crate::entity::account::{UserAccount, USERFLAG_NEWCHAR, USERFLAG_DRESSINGROOM};
|
||||
use crate::entity::character::Character;
|
||||
|
||||
use crate::login::get_login_status;
|
||||
use crate::login::login::get_login_status;
|
||||
|
||||
pub const CHARACTER_PORT: u16 = 12001;
|
||||
|
||||
@ -182,7 +182,7 @@ impl<EG: EntityGateway> CharacterServerState<EG> {
|
||||
})
|
||||
}
|
||||
|
||||
fn send_ship_list(&mut self, id: ClientId, pkt: &Login) -> Result<Vec<SendCharacterPacket>, CharacterError> {
|
||||
fn send_ship_list(&mut self, _id: ClientId, _pkt: &Login) -> Result<Vec<SendCharacterPacket>, CharacterError> {
|
||||
Ok(vec![SendCharacterPacket::Timestamp(Timestamp::new(chrono::Utc::now())),
|
||||
SendCharacterPacket::ShipList(ShipList {
|
||||
flag: 0,
|
||||
@ -420,7 +420,7 @@ impl<EG: EntityGateway> ServerState for CharacterServerState<EG> {
|
||||
#[cfg(test)]
|
||||
mod test {
|
||||
use super::*;
|
||||
use elseware::entity::account::UserSettings;
|
||||
use crate::entity::account::UserSettings;
|
||||
use libpso::character::settings;
|
||||
use std::time::SystemTime;
|
||||
|
||||
|
@ -9,14 +9,12 @@ use libpso::packet::login::*;
|
||||
use libpso::{PacketParseError, PSOPacket};
|
||||
use libpso::crypto::bb::PSOBBCipher;
|
||||
|
||||
use elseware::common::cipherkeys::{ELSEWHERE_PRIVATE_KEY, ELSEWHERE_PARRAY};
|
||||
use elseware::common::serverstate::{SendServerPacket, RecvServerPacket, ServerState, OnConnect, ClientId};
|
||||
use elseware::common::util::array_to_utf8;
|
||||
use crate::common::cipherkeys::{ELSEWHERE_PRIVATE_KEY, ELSEWHERE_PARRAY};
|
||||
use crate::common::serverstate::{SendServerPacket, RecvServerPacket, ServerState, OnConnect, ClientId};
|
||||
use crate::common::util::array_to_utf8;
|
||||
|
||||
//use crate::dataaccess::EntityGateway;
|
||||
//use crate::entities::UserAccount;
|
||||
use elseware::entity::gateway::EntityGateway;
|
||||
use elseware::entity::account::UserAccount;
|
||||
use crate::entity::gateway::EntityGateway;
|
||||
use crate::entity::account::UserAccount;
|
||||
|
||||
pub const LOGIN_PORT: u16 = 12000;
|
||||
|
||||
@ -88,7 +86,7 @@ impl<EG: EntityGateway> LoginServerState<EG> {
|
||||
let ip = net::Ipv4Addr::new(127,0,0,1);
|
||||
let ip = u32::from_ne_bytes(ip.octets());
|
||||
vec![response,
|
||||
SendLoginPacket::RedirectClient(RedirectClient::new(ip, crate::character::CHARACTER_PORT))]
|
||||
SendLoginPacket::RedirectClient(RedirectClient::new(ip, crate::login::character::CHARACTER_PORT))]
|
||||
},
|
||||
Err(err) => {
|
||||
vec![SendLoginPacket::LoginResponse(LoginResponse::by_status(err, pkt.security_data))]
|
||||
|
2
src/login/mod.rs
Normal file
2
src/login/mod.rs
Normal file
@ -0,0 +1,2 @@
|
||||
pub mod login;
|
||||
pub mod character;
|
@ -1,5 +1,8 @@
|
||||
#![feature(const_generics)]
|
||||
|
||||
mod common;
|
||||
mod login;
|
||||
mod character;
|
||||
mod entity;
|
||||
|
||||
use std::thread;
|
||||
use std::collections::HashMap;
|
||||
@ -10,13 +13,12 @@ use libpso::character::settings;
|
||||
use libpso::character::character as pso_character;
|
||||
use libpso::character::guildcard;
|
||||
|
||||
use elseware::entity::gateway::EntityGateway;
|
||||
use elseware::entity::account::{UserAccount, UserSettings, GuildCardData};
|
||||
use elseware::entity::character::Character;
|
||||
use elseware::utf8_to_utf16_array;
|
||||
use entity::gateway::EntityGateway;
|
||||
use entity::account::{UserAccount, UserSettings, GuildCardData};
|
||||
use entity::character::Character;
|
||||
|
||||
use login::LoginServerState;
|
||||
use character::CharacterServerState;
|
||||
use login::login::LoginServerState;
|
||||
use login::character::CharacterServerState;
|
||||
|
||||
use std::time::SystemTime;
|
||||
|
||||
@ -97,11 +99,11 @@ fn main() {
|
||||
|
||||
let auth_thread = thread::spawn(|| {
|
||||
let auth_state = LoginServerState::new(LoginStubData::new());
|
||||
elseware::common::mainloop::mainloop(auth_state, login::LOGIN_PORT);
|
||||
common::mainloop::mainloop(auth_state, login::login::LOGIN_PORT);
|
||||
});
|
||||
let char_thread = thread::spawn(|| {
|
||||
let char_state = CharacterServerState::new(LoginStubData::new());
|
||||
elseware::common::mainloop::mainloop(char_state, character::CHARACTER_PORT);
|
||||
common::mainloop::mainloop(char_state, login::character::CHARACTER_PORT);
|
||||
});
|
||||
|
||||
auth_thread.join().unwrap();
|
1
src/patch/mod.rs
Normal file
1
src/patch/mod.rs
Normal file
@ -0,0 +1 @@
|
||||
pub mod patch;
|
@ -8,8 +8,9 @@ use crc::{crc32, Hasher32};
|
||||
use libpso::{PacketParseError, PSOPacket};
|
||||
use libpso::packet::patch::*;
|
||||
use libpso::crypto::pc::PSOPCCipher;
|
||||
use elseware::common::network::{PacketNetworkError};
|
||||
use elseware::common::serverstate::{RecvServerPacket, SendServerPacket, ServerState, OnConnect, ClientId};
|
||||
|
||||
use crate::common::network::{PacketNetworkError};
|
||||
use crate::common::serverstate::{RecvServerPacket, SendServerPacket, ServerState, OnConnect, ClientId};
|
||||
|
||||
pub const PATCH_PORT: u16 = 11000;
|
||||
|
||||
|
@ -1,5 +1,8 @@
|
||||
#![feature(const_generics)]
|
||||
|
||||
mod common;
|
||||
mod patch;
|
||||
use patch::{PatchServerState, PatchTreeIterItem, generate_patch_tree, PATCH_PORT};
|
||||
use crate::patch::patch::{PatchServerState, PatchTreeIterItem, generate_patch_tree, PATCH_PORT};
|
||||
|
||||
fn main() {
|
||||
println!("[patch] starting server");
|
||||
@ -30,7 +33,7 @@ fn main() {
|
||||
}
|
||||
|
||||
let patch_state = PatchServerState::new(patch_file_tree, patch_file_lookup);
|
||||
elseware::common::mainloop::mainloop(patch_state, PATCH_PORT);
|
||||
common::mainloop::mainloop(patch_state, PATCH_PORT);
|
||||
|
||||
println!("[patch] exiting...");
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user