C言語でDXライブラリを使用したオンラインシューティングゲームをつくっていますが、今は自分がサーバー側固定になっています。
自分の家にはルーターがあり(PC2台、プリンターに無線でつないでいる)、「グローバルIP」から「PC2のプライベートID」へ接続するためにポートを開放しています。そのため自分と他の一人との対戦は可能でした。
しかし、自分以外の2人が互いに対戦することを考えたとき、サーバ用ソフトを他の人にあげても、「ポートを開放」という作業があるため、その2人のどちらもホストになることは困難だとおもいます。
そこで、「サーバーが他のところにあって、皆がクライアントになればいいのでは」と考える段階まできました。
しかし、いったい他の場所と言ってもどこにおくんですか?
突拍子も無い質問になりますが、そもそもそんなことが可か不可かさえもわかりません。
よく「無料サーバー」とかいうサービスを目にしますが、それで可能なのでしょうか?
私の考えている理想は、「とにかく無料で、自分の家以外の場所(別荘とか親戚とか専用小屋つくれ、とかはだめ)でサーバー用に作ったプログラムが動いてくれる。そしてその場所へのUDP接続が可能(DXライブラリで作っているのでIPアドレスで接続したい)」ということですが、どうすればこのようなことが可能でしょうか。
あとP2Pという手段もあるようですが、そのようなものは初心者なので不可能だとかんがえています。
もし無理でも色々な可能性を教えていただきたいです。素人ですみませんが、よろしくお願いします。
No.1ベストアンサー
- 回答日時:
中央のサーバにクライアントのゲームがぶら下がる、
MMOなどに使われるような典型的なクラサバ型ですね?
結論から言うと、それなりの投資をしないとほぼ不可能です。
ゲームサーバの種類にもよりますが、大抵の無料レンタルサーバは
一切ユーザの書いたプログラムを実行できません。
ごく一部の無料サーバはCGIと言ってHTTP/TCPを用いた、
ステートレスな通信方法でのみ動かすことが許可されています。
この場合動作言語は原則スクリプトのみで、バイナリは動かせません。
またプログラムは常駐できず、接続の度に起動して、
1回通信するごとに切断、終了します。
あなたの想定している環境を構築するために、恐らく最低限必要だろうと
思われる解決策は以下の2通りと思われます。
・自宅設置は妥協してでもとにかく無料!→自宅サーバ
・出費を妥協してでもレンタルサーバ!→VPSサーバ
自宅設置か、出費か、どちらかを犠牲にしないと難しいでしょう。
VPSサーバならば駐在も可能になるわけですね。でもやはりそこまでする規模ではまったくないので、やはり出費はきびしいです。
やはりそんな都合のよいことは難しいのですね。勉強になりました。家にもう一台あるPC1のほうを、サーバにしたいと思います。
さすがにその場合は駐在できませんが、一番確実な方法だと思います。素人の自己満足ですので、それで十分だと考えるようにします。
素早い解答たいへん感謝しております。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- サーバー ネットワークの構成に困っています 3 2023/07/05 11:55
- VPN 無料のwifiはなぜ危険性高い? VPN プライベートDNSモードにすれば安全? 2 2022/06/04 18:23
- ドメイン・サーバー・クラウドサービス FileZillaを使用してwpXサーバーに接続できない 2 2022/03/29 21:02
- VPN フリー wi-fi は安全ですか 自宅での wi-fi VPNを使用したら良い? 2 2022/05/31 04:12
- Wi-Fi・無線LAN ローソンで wi-fi 接続できませんでした スマホは OPPO A 73です 何がいけなかったか 4 2022/05/31 03:53
- その他(コンピューター・テクノロジー) DHCPサーバーについて、、、。 職場のネットワーク環境で困っています。サーバーはWindows s 3 2023/01/04 10:15
- ネットワーク 自作のサーバーPCが自宅内のネットワークに接続できない 3 2023/01/24 16:58
- その他(インターネット接続・インフラ) IPアドレスについて 2 2022/10/23 14:48
- 美術・アート トレパク疑惑をかけられにくくするには ここ最近いわゆるトレパク警察のいいがかりがが厳しくなったようで 1 2023/08/21 09:59
- その他(インターネット接続・インフラ) インターネット有線接続についてです。 会社のインターネット回線をハブで繋いで別の部屋に延長したのです 3 2022/12/13 17:09
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
c#のTLS1.2での通信について
-
VB.NET Oracle接続 クライアン...
-
OracleInProcServer.XOraSessio...
-
データベース接続/切断の基本的...
-
ASP.NETのパフォーマンスと接続...
-
System.Net.Sockets.SocketExce...
-
c/sゲーム制作でのサーバーにつ...
-
VB6.0のコードによるMySQLへの接続
-
ctfmon.exe。スタック ベースの...
-
タスクバーのボタンがオレンジ...
-
TeraTermマクロの”Link...
-
有効なwin32アプリケーションで...
-
web.configとは?(初心者です)
-
C#からvbsを実行したい
-
Spy++の起動方法、使い方
-
「プロシージャ エントリポイン...
-
VBでWindowsをログオフ・ログオ...
-
IIS7.5 Excel ファイルオープ...
-
コマンドボタンのキャプション...
-
砂時計 点滅がなおりません・・
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
OracleInProcServer.XOraSessio...
-
System.Net.Sockets.SocketExce...
-
データベース接続/切断の基本的...
-
c#のTLS1.2での通信について
-
javascriptでSQLite接続
-
VB6.0のコードによるMySQLへの接続
-
ASP.NETでSQL-SERVERへの接続方法
-
ConnectNamedPipeの接続待ち
-
DataAdapterだけじゃダメ?
-
Android端末から外部DB(MYSQL...
-
Cでデータベース操作
-
システム作成においておススメ...
-
●Excel VBAからSQLServerのデー...
-
メールを変数の中に入れたいの...
-
Delphi でOracleのデータを表示...
-
VB2010 Dataset内のDB接続先変更
-
PHP 「mysql_connect」と「PEA...
-
【Win7・64・C#】マイコンUSB通...
-
【.NET】OracleConnection には...
-
[asp.net]visual studio2008のD...
おすすめ情報