Information about object: obj_server Sprite: Solid: false Visible: true Depth: 0 Persistent: false Parent: obj_tech_parent Mask: Create Event: execute code: ///Server config PORT = get_string("Type here Port:","") if PORT = ""{ PORT = "6510" } server = network_create_server(network_socket_tcp, real(PORT), 32) buff = buffer_create(16384, buffer_fixed, 1); clients_sockets = ds_list_create() //this will store all players sockets, add it only in the server, it will be used for list index search clients_name = ds_list_create() //this will store all players names clients_x = ds_list_create() //this will store all players x pos clients_y = ds_list_create() //this will store all players y pos clients_imageangle = ds_list_create(); clients_shoot = ds_list_create(); clients_imageindex = ds_list_create(); clients_spriteindex = ds_list_create(); //server_phy_x = ds_list_create(); //server_phy_y = ds_list_create(); //server_phy_rot = ds_list_create(); execute code: ///Variable decount = 0 xx = 0 yy = 0 for(i=0;i<32;i+=1){ inst[i] = 0 } Step Event: execute code: decount += 1 if decount > room_speed/2{ instance_deactivate_all(true) instance_activate_region(view_xview[0]-128,view_yview[0]-72,view_wview[0]+256,view_hview[0]+144,true); instance_activate_object(obj_tech_parent) decount = 0 } if count > 0{ for (i=0; i room_speed/2{ instance_activate_region(xx-view_wview[0]/2-128,yy-view_hview[0]/2-72,view_wview[0]+256,view_hview[0]+144,true); } }; } End Step Event: execute code: count = ds_list_size(clients_sockets) if count>0 { buffer_seek(buff, buffer_seek_start, 0) buffer_write(buff, buffer_string, "all_clients") buffer_write(buff, buffer_s16, count) for(i=0;i Async Event: Networking: execute code: eventid = ds_map_find_value(async_load, "id") if server = eventid { //disconnect of a client t = ds_map_find_value(async_load, "type"); sock = ds_map_find_value(async_load, "socket"); if( t!=network_type_connect) { index=ds_list_find_index( clients_sockets, sock) //show_message(ds_list_find_value(clients_name, index)+" disconected") ds_list_delete(clients_sockets,index) ds_list_delete(clients_name, index)//name ds_list_delete(clients_x, index )//x ds_list_delete(clients_y, index )//y ds_list_delete(clients_imageangle, index) ds_list_delete(clients_imageindex, index) ds_list_delete(clients_spriteindex, index) } } else { net_buff = ds_map_find_value(async_load, "buffer") buff_info = buffer_read(net_buff , buffer_string ) sock = ds_map_find_value(async_load, "id") if buff_info="client_status"//client stats { index=ds_list_find_index( clients_sockets, sock) b_x=buffer_read(net_buff , buffer_s16 ) b_y=buffer_read(net_buff , buffer_s16 ) b_angle = buffer_read(net_buff, buffer_s16) b_imageindex = buffer_read(net_buff, buffer_s16) b_spriteindex = buffer_read(net_buff, buffer_s16) ds_list_replace(clients_x, index, b_x) ds_list_replace(clients_y, index, b_y) ds_list_replace(clients_imageangle, index, b_angle) ds_list_replace(clients_imageindex, index, b_imageindex) ds_list_replace(clients_spriteindex, index, b_spriteindex) } else if buff_info="check_name"//check if name exists { b_name=buffer_read(net_buff , buffer_string ) count=ds_list_size(clients_name) name_exists=0 for(i=0;i