Skip to Content
Nextra 4.0 is released 🎉
GamesServersEventController

EventController

The EventController is a server made for the Japanese region of PS Home.

It has been shared on occasions with various regions. The most global use of the EventController, that involving all four regions, is with FevaArena (FIFA 2010).

Originally created by Premium Agency as far back as January 2009, control of the EC would eventually switch gears to Sony and Peakvox, seeing extensive usage for the Showstage and the Shoei Kingdom.

Definitions

The functions below are POST Requests retrieved from the .do endpoints, and their contents are based on an XML format. Over the course of Home”s lifespan, a few more of them have been introduced.

  • checkEvent.do: Checks an event.
  • clearEvent.do: Clears an event.
  • confirmEvent.do: Confirms an event.
  • confirmEventTrigger.do: Confirms the time of the event.
  • eventTime.do
  • entryEvent.do
  • entryStampEvent.do
  • getQuiz.do
  • getQuizHint.do
  • getStampCornerStatus.do
  • stampCornerClear.do
  • stampEventClear.do
  • checkAccount.do
  • entryAccount.do
  • confirmAccount.do
  • getEventRewardCondition.do
  • getEventReward.do
  • confirmEventReward.do
  • confirmUserXp.do
  • confirmUserXpDetail.do
  • xpTransfer.do
  • getXpExchangeRewardTransfer.do
  • confirmXpExchangeRewardCondition.do
  • getXpExchangeReward.do
  • confirmXpExchangeReward.do
  • confirmXpAcquisitionRewardCondition.do
  • noticeHasXpAcquisitionReward.do
  • confirmXpAcquisitionReward.do
  • getEventTrigger.do: Gets the set time for an event, for both the start and the end.
  • getEventTriggerEx.do: An extension of getEventTrigger.do.
  • getInformationBoardSchedule.do
  • entryItemRankingPoints.do
  • getItemRankingTable.do
  • getItemRankingTargetList.do
  • getTotalUserNumEventCustomNumber.cache
  • getTotalUserNumEventCustomFlag.cache
  • getSumUserEventCustomNumber.cache
  • getResource.do: Grabs a resource through an XML.
  • getEnquete.do
  • enqueteAnswer.do
  • getEnqueteV2.do
  • enqueteV2Answer.do
  • entryRankingPoints.do
  • getRankingTable.do
  • getPersonalPoint.do
  • getUserEventCustom.do
  • getUserEventCustomList.do
  • setUserEventCustom.do

POST Request (.do) Examples

This is an example of getResource.do.

<?xml version="1.0" encoding="UTF-8"?> <resource_data> <result type="int">1</result> <description type="text">RESOURCE_DATA</description> <key type="text">apr2009</key> <resourcecs> <resource> <seq type="int">1</seq> <data type="text">http://scej-home.playstation.net/j.home/event/for090409/ev_sq_rss_1_cbv2_090414.xml</data> </resource> <resource> <seq type="int">2</seq> <data type="text">http://scej-home.playstation.net/j.home/event/for090409/ev_sq_rss_2_cbv2_090414.xml</data> </resource> <resource> <seq type="int">3</seq> <data type="text">http://scej-home.playstation.net/j.home/event/for090108/ev_sq_rss_4a_081219.xml</data> </resource> <resource> <seq type="int">4</seq> <data type="text">http://scej-home.playstation.net/j.home/event/for090108/ev_sq_rss_4b_081219.xml</data> </resource> <resource> <seq type="int">5</seq> <data type="text">http://scej-home.playstation.net/j.home/event/for090108/ev_sq_rss_5a_081219.xml</data> </resource> <resource> <seq type="int">6</seq> <data type="text">http://scej-home.playstation.net/j.home/event/for090108/ev_sq_rss_5b_081219.xml</data> </resource> </resourcecs> </resource_data>

This is an example of getEnquete.do (For Everybody’s Golf space).

<?xml version="1.0" encoding="UTF-8"?> <get_enquete> <result type="int">1</result> <description type="text">ENQUETE</description> <enquete> <question> <multiple type="bool">false</multiple> <overwrite type="bool">false</overwrite> <qtype type="int">SELECT</qtype> <number type="int">1</number> <id type="int">219</id> <title type="text">みんGOLラウンジアンケート</title> <body type="text">実際のゴルフのラウンド経験はありますか?</body> <cCount type="int">4</cCount> <choice> <ans1> <jump type="int">2</jump> <ans1_body type="text">よくプレイする</ans1_body> </ans1> <ans2> <jump type="int">2</jump> <ans2_body type="text">たまにプレイする</ans2_body> </ans2> <ans3> <jump type="int">2</jump> <ans3_body type="text">ほとんどプレイしない</ans3_body> </ans3> <ans4> <jump type="int">2</jump> <ans4_body type="text">プレイした経験がない</ans4_body> </ans4> <ans5> <jump type="int"></jump> <ans5_body type="text"></ans5_body> </ans5> <ans6> <jump type="int"></jump> <ans6_body type="text"></ans6_body> </ans6> <ans7> <jump type="int"></jump> <ans7_body type="text"></ans7_body> </ans7> <ans8> <jump type="int"></jump> <ans8_body type="text"></ans8_body> </ans8> <ans9> <jump type="int"></jump> <ans9_body type="text"></ans9_body> </ans9> <ans10> <jump type="int"></jump> <ans10_body type="text"></ans10_body> </ans10> </choice> </question> <question> <multiple type="bool">false</multiple> <overwrite type="bool">false</overwrite> <qtype type="int">SELECT</qtype> <number type="int">2</number> <id type="int">220</id> <title type="text">みんGOLラウンジアンケート</title> <body type="text">「みんなのGOLF 5」のオンラインモードをプレイした事がありますか?</body> <cCount type="int">3</cCount> <choice> <ans1> <jump type="int">3</jump> <ans1_body type="text">ある</ans1_body> </ans1> <ans2> <jump type="int">3</jump> <ans2_body type="text">オンラインモードは遊んでいない</ans2_body> </ans2> <ans3> <jump type="int">3</jump> <ans3_body type="text">ゲームそのものを持っていない</ans3_body> </ans3> <ans4> <jump type="int"></jump> <ans4_body type="text"></ans4_body> </ans4> <ans5> <jump type="int"></jump> <ans5_body type="text"></ans5_body> </ans5> <ans6> <jump type="int"></jump> <ans6_body type="text"></ans6_body> </ans6> <ans7> <jump type="int"></jump> <ans7_body type="text"></ans7_body> </ans7> <ans8> <jump type="int"></jump> <ans8_body type="text"></ans8_body> </ans8> <ans9> <jump type="int"></jump> <ans9_body type="text"></ans9_body> </ans9> <ans10> <jump type="int"></jump> <ans10_body type="text"></ans10_body> </ans10> </choice> </question> <question> <multiple type="bool">false</multiple> <overwrite type="bool">false</overwrite> <qtype type="int">SELECT</qtype> <number type="int">3</number> <id type="int">221</id> <title type="text">みんGOLラウンジアンケート</title> <body type="text">このラウンジにもっとも期待する事は何ですか?</body> <cCount type="int">5</cCount> <choice> <ans1> <jump type="int">4</jump> <ans1_body type="text">みんGOLに関しての公式な情報</ans1_body> </ans1> <ans2> <jump type="int">4</jump> <ans2_body type="text">他のユーザとの情報交換</ans2_body> </ans2> <ans3> <jump type="int">4</jump> <ans3_body type="text">フレンドを増やしたい</ans3_body> </ans3> <ans4> <jump type="int">4</jump> <ans4_body type="text">いっしょにプレイする仲間を見つけたい</ans4_body> </ans4> <ans5> <jump type="int">4</jump> <ans5_body type="text">ラウンジ自体に楽しいイベントが欲しい</ans5_body> </ans5> <ans6> <jump type="int"></jump> <ans6_body type="text"></ans6_body> </ans6> <ans7> <jump type="int"></jump> <ans7_body type="text"></ans7_body> </ans7> <ans8> <jump type="int"></jump> <ans8_body type="text"></ans8_body> </ans8> <ans9> <jump type="int"></jump> <ans9_body type="text"></ans9_body> </ans9> <ans10> <jump type="int"></jump> <ans10_body type="text"></ans10_body> </ans10> </choice> </question> <question> <multiple type="bool">false</multiple> <overwrite type="bool">false</overwrite> <qtype type="int">SELECT</qtype> <number type="int">4</number> <id type="int">222</id> <title type="text">みんGOLラウンジアンケート</title> <body type="text">このラウンジにまた来たいと思いますか?</body> <cCount type="int">5</cCount> <choice> <ans1> <jump type="int">0</jump> <ans1_body type="text">来たい</ans1_body> </ans1> <ans2> <jump type="int">0</jump> <ans2_body type="text">ラウンジのコンテンツ次第</ans2_body> </ans2> <ans3> <jump type="int">0</jump> <ans3_body type="text">仲間次第</ans3_body> </ans3> <ans4> <jump type="int">0</jump> <ans4_body type="text">来たいと思わない</ans4_body> </ans4> <ans5> <jump type="int">0</jump> <ans5_body type="text">よくわからない</ans5_body> </ans5> <ans6> <jump type="int"></jump> <ans6_body type="text"></ans6_body> </ans6> <ans7> <jump type="int"></jump> <ans7_body type="text"></ans7_body> </ans7> <ans8> <jump type="int"></jump> <ans8_body type="text"></ans8_body> </ans8> <ans9> <jump type="int"></jump> <ans9_body type="text"></ans9_body> </ans9> <ans10> <jump type="int"></jump> <ans10_body type="text"></ans10_body> </ans10> </choice> </question> </enquete> </get_enquete>

This is an example of confirmEvent.do.

<?xml version="1.0" encoding="UTF-8"?> <event_items> <result type="int">1</result> <description type="text">EVENT</description> <event> <id type="int">72</id> <type type="text">ENQUETE</type> <assumption type="bool">false</assumption> <name type="text">TypePアンケート</name> <start_year type="int">2009</start_year> <start_month type="int">04</start_month> <start_day type="int">08</start_day> <start_hour type="int">00</start_hour> <start_minutes type="int">00</start_minutes> <start_second type="int">00</start_second> <end_year type="int">2009</end_year> <end_month type="int">05</end_month> <end_day type="int">14</end_day> <end_hour type="int">23</end_hour> <end_minutes type="int">59</end_minutes> <end_second type="int">59</end_second> <cycle type="int">2</cycle> </event> </event_items>

This is example #1 of confirmEventTrigger.do.

<?xml version="1.0" encoding="UTF-8"?> <event_trigger> <result type="int">1</result> <description type="text">EVENT_TRIGGER</description> <is_active type="bool">true</is_active> <trigger_id type="int">15463</trigger_id> <start_year type="int">2009</start_year> <start_month type="int">5</start_month> <start_day type="int">11</start_day> <start_hour type="int">15</start_hour> <start_minutes type="int">0</start_minutes> <start_second type="int">0</start_second> <end_year type="int">2009</end_year> <end_month type="int">5</end_month> <end_day type="int">12</end_day> <end_hour type="int">14</end_hour> <end_minutes type="int">59</end_minutes> <end_second type="int">59</end_second> <trigger_flag type="int">1</trigger_flag> </event_trigger>

This is example #2 of confirmEventTrigger.do.

<?xml version="1.0" encoding="UTF-8"?> <event_trigger> <result type="int">0</result> <description type="text">EVENT_TRIGGER</description> <error_no type="int">303</error_no> <error_message type="text">現在イベント期間外となっております。大変申し訳ありませんが、期間をご確認の上再度ご参加下さい。</error_message> </event_trigger>

This is an example of entryEvent.do.

<?xml version="1.0" encoding="UTF-8"?> <entry_event> <result type="int">1</result> <description type="text">ENTRY</description> </entry_event>

This is an example of enqueteAnswer.do.

<?xml version="1.0" encoding="UTF-8"?> <answer> <result type="int">1</result> <description type="text">ANSWER</description> </answer>

This is an example of checkEvent.do.

<?xml version="1.0" encoding="UTF-8"?> <entry_status> <result type="int">0</result> <description type="text">STATUS</description> <error_no type="int">301</error_no> <error_message type="text">Cannot confirm user account.</error_message> </entry_status>

Spaces

JP Home Square

The Home Square in Japan has had a constant variety of events, like the Summer Festival of 2012, the Spring Blossom of 2012/2013, the Halloween of 2010-2012, the Winter of 2009-2012, and the promotional events hosted throughout the years.

Beginning with December 2010, the map began to use compiled LUA.

Music Cafe / Home Cafe

This space allows for selection of MP3 music or MP4 videos to be played in the space. It is handled by the EventController that can set the music, the images and their positions, as well as a variety of lights and effects.

The entire space is programmable through an XML-based configuration file, which allows for customizing how the events here are run.

At the time of this writing, only the Rolly Booth object of the space works with the server.

Liar Game

This is an event that was exclusive to the Japanese region of PlayStation Home, and only for part of the year 2011.

Sony Aquarium VR

This is an event that was exclusive to the Japanese region of PlayStation Home, and only for part of the year 2011. It allowed you to see virtual fishes, take pictures of them, and gain rewards through gacha.

FIFA FevaArena 2010

This is a global event that was hosted in all four regions of PlayStation Home, using the EventController to manage the FIFA 2010 World Cup South Africa events. It allowed players to participate in various FIFA-themed activities and competitions.

Shoei Kingdom

This space by O-Two uses a variant of the EventController. It is unknown how this one works, but it is regular LUA all the way. This is the only known space to use GET requests instead of POST requests.

Showstage

This space by O-Two that uses Sony’s EventController, modified to work specifically in Showstage, but very similar (and in some aspects, identical) to the new JP Home Square’s code. Unlike JP Home Square, this is regular LUA all the way.

Disgaea 4 (Possibly)

One of this space’s objects has the EventController functionality.

However, it is suepected to have been disabled, as a way has not been found to get it to run.

Last updated on