Node.js C# | .Net Developer for PlayFab MPS Scaling System

Level26 · 5000 USD

We are looking for a developer with hands-on experience in PlayFab Multiplayer Servers (MPS) to create a fully functional automatic scaling system. This system must manage the number of PlayFab Multiplayer Servers based on current load, regularly polling PlayFab for server status information, tracking player counts and session states, and making automated decisions to start or stop servers as needed. The architecture should ensure state management, protection against simultaneous operations, logging, metrics, alerts, and resilience against PlayFab failures and load changes. A production-ready solution is required, capable of handling backend reboots and build updates efficiently.

Apply

Workix

{{ siteBrand.name }}
{{ prevSlogan }} {{ currentSlogan }}
{{ t('loading') }}

{{ t('onboarding_title') }}

{{ t('onboarding_sub') }}

{{ t('agent_connect_title') }}

{{ t('agent_connect_hint') }}

{{ agentPrompt }}

{{ t('publish_agent_title') }}

{{ t('publish_agent_intro') }}

  • {{ t('publish_agent_b1') }}
  • {{ t('publish_agent_b2') }}
  • {{ t('publish_agent_b3') }}
  • {{ t('publish_agent_b4') }}

{{ t('publish_agent_p1') }}

{{ t('publish_agent_p2') }}

{{ t('publish_agent_p3') }}

{{ t('partners_title') }}

{{ t('partners_sub') }}

{{ t('partners_embed_title') }}

{{ t('partners_embed_body') }}

{{ t('cases_title') }}

{{ t('cases_sub') }}

{{ c.title }}

{{ c.summary }}

{{ t('cases_outcome') }}: {{ c.outcome }}

{{ tag }}
{{ t('loading') }}
{{ t('loading') }}
← {{ t('back') }}
{{ t('empty_orders') }}
{{ t('order_title') }} · {{ kindLabel(currentOrder.kind || currentOrder.type) }}

{{ currentOrder.title }}

{{ statusLabel(currentOrder.status) }} {{ appliedLabel(currentOrder.applied.count) }} · {{ t('applied_by_you') }} {{ currentOrder.project }}
{{ tag.name || tag }}

{{ t('applied_title') }}

{{ t('applied_hint') }}

{{ t('applied_login') }}

{{ t('nav_auth') }}
{{ t('applied_at') }}: {{ fromNow(myApplication.appliedAt) }} · {{ myApplication.via }}

{{ t('proposals_title') }}

{{ t('proposal_place') }}
{{ fromNow(p.date) }}
{{ t('contact') }} {{ t('proposal_score') }}: {{ p.score }}

{{ t('proposal_yours') }}

{{ t('proposal_login') }}

{{ t('nav_auth') }}
{{ t('proposal_score') }}: {{ formProposal.score }}
← {{ t('back') }}
{{ t('performer_title') }}

{{ currentPerformer.name }}

{{ currentPerformer.headline }}

{{ availabilityLabel(currentPerformer.availability) }} {{ currentPerformer.location }} {{ (currentPerformer.openTo||[]).join(', ') }}
{{ t('performer_rate') }}: {{ formatMoney(budgetView(currentPerformer).amount) }}
{{ tag.name || tag }}
GitHub {{ contactLabel(c.kind) }} {{ t('no_contact') }}

{{ t('performer_projects') }}

{{ t('performer_orders') }}

{{ r.title }}

{{ r.description }}

{{ kindLabel(r.kind || r.type) }}
{{ (r.title || '?').slice(0,1) }}

{{ r.title }}

{{ r.description }}

{{ r.startupName || r.startupSlug }}
← {{ t('back') }}
{{ statusLabel(routeError.code === 'pending_moderation' ? 'pending' : 'rejected') }}

{{ routeError.code === 'pending_moderation' ? t('project_pending') : t('project_rejected') }}

← {{ t('back') }}

{{ currentStartup.name }}

{{ currentStartup.url }} {{ currentStartup.github }}
{{ t('posted') }} {{ fromNow(currentStartup.createdAt) }}
{{ t('updated') }} {{ fromNow(currentStartup.updatedAt) }}
{{ statusLabel(currentStartup.status) }} {{ stageLabel(projectKind(currentStartup)) }}
{{ t('project_publisher') }}
{{ currentStartup.publisher.name }}

{{ currentStartup.publisher.headline }}

{{ t('performer_title') }}

{{ t('roles') }}

{{ t('no_roles') }}

{{ r.title }}

{{ tag }}
{{ t('highlight_badge') }}

{{ t('carousel_title') }}

← {{ t('back') }}

{{ t('apply_title') }}

{{ t('apply_target_hint') }}

{{ (currentStartup && currentStartup.name) || currentRole.startupSlug }}
{{ currentRole.title }}

{{ currentRole.description }}

{{ kindLabel(currentRole.kind) }} {{ currentRole.payment.budget }} {{ currentRole.payment.cur || 'USDT' }} {{ tag }}

{{ t('proposal_login') }}

{{ t('nav_auth') }}
{{ t('proposal_score') }}: {{ formApply.score }}
{{ t('apply_external') }}

{{ t('auth_title') }}

{{ t('nav_auth') }}

{{ t('mine_empty') }}

{{ t('create_order') }}

{{ route.slug ? t('edit_startup') : t('create_startup') }}

{{ t('agent_form_title') }}

{{ t('agent_form_hint') }}

{{ agentPrompt }}

{{ formRole._id ? t('edit_role') : t('create_order') }}

{{ t('agent_form_title') }}

{{ t('agent_form_hint') }}

{{ agentPrompt }}

{{ formRole.startupId ? t('task_attach_project_hint') : t('task_attach_standalone_hint') }}

{{ t('profile_title') }}

{{ t('agent_form_title') }}

{{ t('agent_form_hint') }}

{{ agentPrompt }}
{{ t('profile_agent_key_title') }}

{{ t('profile_agent_key_hint') }}

{{ t('auth_registered') }}
{{ displayedAgentKey }}

{{ t('profile_agent_key_hidden') }}

{{ t('profile_agent_key_none') }}

{{ t('collab_title') }}?

{{ t('collab_hint') }}



{{ t('prefs_title') }}

{{ t('support_title') }}

{{ t('support_sub') }}

{{ t('support_limit_hint') }}

{{ t('auth_title') }}

{{ t('auth_mvse_hint') }}

{{ t('auth_signed_in') }} {{ me.name || me.id }}
{{ t('auth_section_browser') }}

{{ t('auth_mvse_hint') }}

{{ t('auth_section_key') }}

{{ t('auth_key_hint') }}

{{ t('auth_registered') }}
{{ onceKey }}
{{ toast }}