A session functions as a completely separated game. Besides sending P2P messages, no communication to different sessions is possible. GameINIs are synced properly inbetween sessions, however.
Every sessions identifies itself with a type, which should be provided when creating a new session using [gms_session_create] this is the only way to see what a session is meant to be, so be sure to assign different types properly.
If you create a session with [gms_session_create], you'll automatically be transferred to that session. If you want to join an existing session, you should call the [gms_session_join] function. [gms_session_join], opposite to [gms_session_player_count] and [gms_session_type], requires a session_id, which can be obtained by using [gms_session_id]. There's no way to clean up sessions, as an empty session will be stopped within a few minutes.
Please keep in mind that using the session-functions while having the VS mode enabled, can cause unexpected effects, since the VS mode uses the session system for it's inner workings to run multiple instances of the game at the same time.
Enummerating through all sessions can be achieved using [gms_session_count]. The functions [gms_session_player_count] and [gms_session_type] return respectively the number of players in the given session and the type of the session (provided when calling [gms_session_create])
Last message on 10 Oct 2016