Struct bevy_steamworks::Server[][src]

pub struct Server { /* fields omitted */ }

The main entry point into the steam client for servers.

This provides access to all of the steamworks api that servers can use.

Implementations

impl Server[src]

pub fn init(
    ip: Ipv4Addr,
    steam_port: u16,
    game_port: u16,
    query_port: u16,
    server_mode: ServerMode,
    version: &str
) -> Result<(Server, SingleClient<ServerManager>), SteamError>
[src]

Attempts to initialize the steamworks api and returns a server to access the rest of the api.

This should only ever have one instance per a program.

Currently the steamworks api doesn’t support IPv6.

Errors

This can fail if:

  • The steam client isn’t running

  • The app ID of the game couldn’t be determined.

    If the game isn’t being run through steam this can be provided by placing a steam_appid.txt with the ID inside in the current working directory

  • The game isn’t running on the same user/level as the steam client

  • The user doesn’t own a license for the game.

  • The app ID isn’t completely set up.

pub fn register_callback<C, F>(&self, f: F) -> CallbackHandle<ServerManager> where
    C: Callback,
    F: FnMut(C) + 'static + Send
[src]

Registers the passed function as a callback for the given type.

The callback will be run on the thread that run_callbacks is called when the event arrives.

pub fn steam_id(&self) -> SteamId[src]

Returns the steam id of the current server

pub fn authentication_session_ticket(&self) -> (AuthTicket, Vec<u8, Global>)[src]

Retrieve an authentication session ticket that can be sent to an entity that wishes to verify you.

This ticket should not be reused.

When creating ticket for use by the web API you should wait for the AuthSessionTicketResponse event before trying to use the ticket.

When the multiplayer session terminates you must call cancel_authentication_ticket

pub fn cancel_authentication_ticket(&self, ticket: AuthTicket)[src]

Cancels an authentication session ticket received from authentication_session_ticket.

This should be called when you are no longer playing with the specified entity.

pub fn begin_authentication_session(
    &self,
    user: SteamId,
    ticket: &[u8]
) -> Result<(), AuthSessionError>
[src]

Authenticate the ticket from the steam ID to make sure it is valid and not reused.

A ValidateAuthTicketResponse callback will be fired if the entity goes offline or cancels the ticket.

When the multiplayer session terminates you must call end_authentication_session

pub fn end_authentication_session(&self, user: SteamId)[src]

Ends an authentication session that was started with begin_authentication_session.

This should be called when you are no longer playing with the specified entity.

pub fn set_product(&self, product: &str)[src]

Sets the game product identifier. This is currently used by the master server for version checking purposes. Converting the games app ID to a string for this is recommended.

This is required for all game servers and can only be set before calling log_on() or log_on_anonymous().

pub fn set_game_description(&self, desc: &str)[src]

Sets the game description. Setting this to the full name of your game is recommended.

This is required for all game servers and can only be set before calling log_on() or log_on_anonymous().

pub fn set_dedicated_server(&self, dedicated: bool)[src]

Sets whether this server is dedicated or a listen server.

pub fn log_on_anonymous(&self)[src]

Login to a generic anonymous account

pub fn enable_heartbeats(&self, active: bool)[src]

If active, updates the master server with this server’s presence so players can find it via the steam matchmaking/server browser interfaces.

pub fn set_mod_dir(&self, mod_dir: &str)[src]

If your game is a “mod,” pass the string that identifies it. The default is an empty string, meaning this application is the original game, not a mod.

pub fn set_map_name(&self, map_name: &str)[src]

Set name of map to report in the server browser

pub fn set_server_name(&self, server_name: &str)[src]

Set the name of server as it will appear in the server browser

pub fn set_max_players(&self, count: i32)[src]

Sets the maximum number of players allowed on the server at once.

This value may be changed at any time.

Trait Implementations

impl Clone for Server[src]

pub fn clone(&self) -> Server[src]

Returns a copy of the value. Read more

fn clone_from(&mut self, source: &Self)1.0.0[src]

Performs copy-assignment from source. Read more

impl Send for Server[src]

impl Sync for Server[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

pub fn type_id(&self) -> TypeId[src]

Gets the TypeId of self. Read more

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

pub fn borrow(&self) -> &T[src]

Immutably borrows from an owned value. Read more

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

pub fn borrow_mut(&mut self) -> &mut T[src]

Mutably borrows from an owned value. Read more

impl<T> Downcast for T where
    T: Any

pub fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>

Convert Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can then be further downcast into Box<ConcreteType> where ConcreteType implements Trait. Read more

pub fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>

Convert Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be further downcast into Rc<ConcreteType> where ConcreteType implements Trait. Read more

pub fn as_any(&self) -> &(dyn Any + 'static)

Convert &Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &Any’s vtable from &Trait’s. Read more

pub fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)

Convert &mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &mut Any’s vtable from &mut Trait’s. Read more

impl<T> DowncastSync for T where
    T: Any + Send + Sync

pub fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + 'static + Sync + Send>

Convert Arc<Trait> (where Trait: Downcast) to Arc<Any>. Arc<Any> can then be further downcast into Arc<ConcreteType> where ConcreteType implements Trait. Read more

impl<T> From<T> for T[src]

pub fn from(t: T) -> T[src]

Performs the conversion.

impl<T> Instrument for T[src]

fn instrument(self, span: Span) -> Instrumented<Self>[src]

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

fn in_current_span(self) -> Instrumented<Self>[src]

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

pub fn into(self) -> U[src]

Performs the conversion.

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

pub fn to_owned(&self) -> T[src]

Creates owned data from borrowed data, usually by cloning. Read more

pub fn clone_into(&self, target: &mut T)[src]

🔬 This is a nightly-only experimental API. (toowned_clone_into)

recently added

Uses borrowed data to replace owned data, usually by cloning. Read more

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]

Performs the conversion.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>[src]

Performs the conversion.

impl<T> TypeData for T where
    T: 'static + Send + Sync + Clone

pub fn clone_type_data(&self) -> Box<dyn TypeData + 'static, Global>

impl<V, T> VZip<V> for T where
    V: MultiLane<T>, 

pub fn vzip(self) -> V

impl<T> Component for T where
    T: 'static + Send + Sync
[src]